BTC $ 3253.12117795 (-2.01 %)
XRP $ 0.2890812236 (-3.41 %)
ETH $ 84.7910619115 (-2.04 %)
XLM $ 0.0979249434 (-6.61 %)
USDT $ 1.00203281 (0.04 %)
EOS $ 1.8554552474 (-1.08 %)
BCH $ 82.0631930059 (-7.92 %)
LTC $ 23.9104681528 (1.07 %)
BSV $ 70.7342104821 (-10.8 %)
TRX $ 0.0127832505 (-2.59 %)

Как изменилось видение консенсуса для блокчейна после первых попыток реализации

21:59 14/09/2018

1.Введение

 

Системы, использующие активно развивающуюся технологию блокчейн, представляют семейство децентрализованных систем в сфере информационных технологий. Эти системы продолжают тенденцию к распределению функций между участниками системы и исключают центральный управляющий орган.

 

Изначально все информационные системы разрабатывались таким образом, чтобы с одного рабочего места была возможность управлять всем разнообразием системных функций. Этот классический централизованный подход подразумевает жесткую иерархию вне системы: руководители разного уровня, рядовые исполнители, обслуживающий персонал. В ходе развития компьютеров возникла необходимость выделять разнообразные роли и наделять их ограниченным набором функций подобно тому, как в свое время произошло разделение инженерного труда на предприятиях. Эта тенденция привела к нескольким различным подходам к управлению информационными системами и их функционалом.

 

В одном подходе используется делегированное управление, при котором среди пользователей системы выделяются различные роли, которым даются различные доступы к использованию функционала. Такие роли позволяют разнести в пространстве рабочие места, разделить обрабатываемый объем информации, оптимизировать трудозатраты.

 

Другой подход — это популярные в последнее время облачные технологии. Основная его идея подобна предыдущей, но есть нюансы в расположении данных. Первостепенную роль здесь играют вопросы синхронизации, поскольку одновременное использование одних и тех же данных может привести к нежелательным последствиям вплоть до их утраты.

Децентрализованная обработка данных — это подход, который начал набирать популярность в последние годы. Основное отличие этого подхода состоит в том, что каждому пользователю доступны абсолютно все функции системы и в некоторых случаях вся хранимая в системе информация. Обработкой данных может заниматься каждый из узлов, что приводит к отсутствию ярко выраженного централизованного управления. Единственное место, где остается централизация, — группа разработчиков, однако ее функции сводятся к предложениям по улучшению системы, а вопросы внедрения выносятся на всеобщее обсуждение.

 

2. Децентрализация и блокчейн

 

Наличие децентрализации связано с несколькими интересными особенностями работы в такой среде. Одна из них — отсутствие принудительного распределения обязанностей по поддержке работоспособности сети. Каждый из участников самостоятельно решает, нужна ли ему эта работоспособность и в какой мере он готов ее поддерживать. В случае с блокчейном такого рода поддержка регулярно востребована. Эта необходимость продиктована природой блокчейна и его ролью в основанных на нем системах.

 

Следует упомянуть, что блокчейн — это специфическая база данных, обладающая весьма оригинальной комбинацией свойств. Во-первых, он одинаков для всех его пользователей. Это значит, что блокчейн у каждого из участников сети полностью совпадает. Во-вторых, содержимое этой базы полностью доступно каждому. При желании пользователи могут посмотреть произведенные действия, историю транзакций, количество переведенных средств. В-третьих, практически невозможно произвести поддельную передачу средств или внести изменения в уже произведенные операции. На сегодняшний день известны случаи мошенничества в блокчейн-сетях, однако они связаны с несовершенством кода, а не с грубым взломом паролей пользователей. И, наконец, в-четвертых, участники по умолчанию не доверяют друг другу.

Исходя из всех условий, очевидно, что весьма важным становится вопрос занесения новой информации так, чтобы это устраивало всех участников. Пополнение блокчейна новым блоком должно как безоговорочно приниматься каждым из участников, так и быть максимально защищенным от изменений и взломов. Для выполнения таких условий при исходных характеристиках был разработан набор правил, называемый консенсусом. Консенсус одинаков для всех участников и применяется к каждому новому блоку. Если блок соответствует всем заявленным условиям, он считается приемлемым к занесению в блокчейн.

 

3. Работа, объемы и награда

 

Полноценное внесение нового блока в блокчейн, начиная с момента его формирования и заканчивая одобрением участниками, — и есть суть всей работы пользователей. За простым описанием кроется сложная процедура, состоящая из нескольких сложных и объемных шагов.

 

Для начала следует рассмотреть содержимое нового блока. Информация, которая там содержится — это ни что иное, как записи о транзакциях на блокчейне. Каждая транзакция определяет, откуда, куда и сколько было передано средств. Совокупность всех транзакций, генерируемая узлами блокчейн-сети, передается специальным узлам, которые готовы вносить транзакции в новые блоки, обмениваться ими с другими узлами, хранить их до времени занесения в блок. Именно специальные узлы, называемые полными нодами, осуществляют синхронизацию данных в блокчейне. Обычные облегченные ноды отказываются от сложностей, связанной с обменом информацией, из-за высокой нагрузки на вычислительные мощности. Также они не хранят полный блокчейн из-за его большого размера.

 

Еще одна трудозатратная часть работы — это само закрытие блока. Для того, чтобы закрыть блок, ноде необходимо произвести множество расчетов в поиске нужного результата хеш-функции. Этот процесс называется майнингом. Хеш-функция защищает весь блокчейн от взлома, поскольку для этого необходимо проделать огромное количество вычислений. Принимая во внимание тот факт, что хеш-результат каждого блока учитывает результат предыдущего, получается система с очень сильной защитой от взлома. Однако поиск такой функции — сложный процесс. Сотни тысяч устройств одновременно ищут хеш-результат, но из-за встроенной в него адаптивности к вычислительной мощности сети среднее время закрытия нового блока всегда составляет примерно десять минут.

Такой объем работы обязательно должен поощряться, учитывая тот факт, что он направлен на поддержание работоспособности блокчейн-сети. Создатели различных протоколов на блокчейне по-разному вознаграждают участников. В классическом предложенном протоколе Биткоин награды бывают двух видов, каждый из которых обладает своими тонкостями. Первый вид награды обязателен и прописан в самом протоколе. Это награда за закрытие блока, которую получает та нода, которой повезло рассчитать подходящее значение хеш-функции. Второй вид награды определяется другими пользователями блокчейн-сети — так называемая комиссия за транзакцию, которая содержится в каждой из транзакций и зависит от желания ее автора наградить майнера.

 

Награда за закрытие блока постоянно уменьшается, и однажды ее не станет вовсе, хотя произойдет это нескоро. Комиссия, наоборот, определяется пользователями, и во время пиковой нагрузки на пропускную способность майнеры могут выбирать те транзакции, у которых комиссия больше.

 

4. От PoW к PoS

 

Алгоритм, который предусматривает учет и проверку найденной хеш-функции, называется Proof-of-Work. Он используется в таких протоколах на блокчейне, как Биткоин, Эфириум, NEO и другие менее известные. Однако существуют и другие предложения относительно того, как измерять пользу, приносимую отдельным узлом. Дело в том, что PoW-подход обладает очень неприятным свойством. В погоне за наградой участники усиливают аппаратную часть для повышения вероятности расчета хеш. Это увеличивает энергопотребление и заставляет других участников наращивать свои мощности. Усугубляет ситуацию постоянное снижение награды и усложнение цели расчетов. В конечном счете огромное количество усилий тратится впустую.

 

Подход Proof-of-Stake был предложен как альтернатива для PoW. Он основывается не на частоте оборудования, а на уже существующем количестве средств у участников. Его основная идея — продолжение блокчейна путем размещения ставок на альтернативные закрываемые блоки. Тот блок, который набирает больше всего ставок, будет добавлен в блокчейн. Альтернативные блоки, не набравшие максимальное количество ставок, некоторое время будут храниться на случай обнаружения атаки. На данный момент существует несколько вариантов Proof-of-Stake, которые продолжают эволюционировать.

 

Основная идея Proof-of-Stake была предложена в 2011 году. Через несколько месяцев обсуждений в рамках криптовалюты Peercoin был предложен совмещенный вариант PoS и PoW. После этого еще несколько протоколов использовали PoS полностью или частично.

 

Подобно тому, как в PoW не каждая полная нода является майнером, PoS предполагает ограниченное количество управляющих нод. Чтобы войти в управляющий пул, нода должна зарезервировать какое-то количество средств. В результате, вероятность конкретной ноды стать автором следующего блока пропорциональна размеру резерва.

 

Внутри управляющего пула тоже не все так просто. Например, для Биткоина время закрытия блока стабильно держится на уровне десяти минут. При этом лишь одна нода принимает решение о закрытии блока. Следовательно, проблемы в передаче данных нет, так как размер транзакций и блоков небольшой. Между тем протоколы с меньшим средним временем закрытия блока и большим количеством точек принятия решения могут столкнуться с проблемой синхронизации. В некоторых протоколах этот вопрос решался путем сокращения количества нод, принимающих решения.

 

Еще одна важная проблема — отсутствие потерь. При разработке PoS не предполагалось, что недобросовестная нода может помешать работе блокчейна, сделав ставки на все альтернативные блоки. Если несколько участников начнут делать некорректные ставки, то в некоторых случаях это может привести к занесению в блокчейн некорректных блоков. Такая вероятность должна быть ограничена разработчиками, чтобы предотвратить случаи мошенничества и избежать ошибок.

 

Создатель Эфириума Виталик Бутерин в своей статье приводит пример использования PoW, при котором майнер, выбравший неправильный блок, несет потери. Между тем оригинальный PoS, напротив, всячески поощрял ставки на всевозможные альтернативы, чтобы повысить вероятность правоты.

 

Проблема многих ставок может быть решена разными способами. Способ, отталкивающийся от особенностей самого PoS, использует штрафы. Есть смешанные подходы, где блоки должны подтвердить консенсус другими путями.

 

Еще одним важным аспектом достижения консенсуса является недоверие к выбранным представителям из пула. Действительно, если вступить в пул голосующих может каждая нода, то окончательное решение принимает ограниченное количество нод. В упомянутой выше статье Бутерин указывает на потенциальную возможность для некоторых ключевых нод захватить управление блокчейном, чтобы впоследствии обрабатывать выгодные только им блоки. В таких условиях очень важно исключить малейшую вероятность влияния нод на выбор голосующих.

 

Подводя итоги, можно сказать, что основная цель упомянутых методов — достижение консенсуса в условиях тотального недоверия. Столь суровые условия, естественно, накладывют сильные ограничения на используемые методы. Однако, несмотря на очевидные и потенциально скрытые недостатки, развитие разнообразных подходов идет постоянно, приближая сообщество к желаемой цели.

Нашли ошибку? Выделите её и нажмите Ctrl + Enter чтобы сообщить администратору.

Самые актуальные новости о криптовалютах и блокчейне. Прочтите первым!

Зачем мне это?

Загрузка...