Алгоритмы Консенсуса в Блокчейне: POW, POS и другие. Какие бывают? Отличия
Алгоритмы консенсуса составляют основу технологии блокчейн. Сегодня мы поговорим про этот неоценимый процесс в цифровой безопасности, рассмотрев лучшие из современных подходов.
Что такое алгоритм консенсуса?
Консенсус в блокчейне - процесс достижения соглашения по вопросу значения распределенных данных - необходимо, чтобы решение было одно. Это идеально вписывается в структуру распределенного регистра блокчейна.
В отличие от традиционной базы данных, контролируемой администратором, публичная цепочка блоков (блокчейн) представляет собой одноранговую децентрализованную сеть, в которую потенциально может внести свой вклад любой участник. Консенсус необходим для функционирования такой распределенной сети, учитывая потенциально тысячи операторов узлов: все они должны согласовать состояние сети, чтобы она работала должным образом.
Механизм консенсуса - это процесс, с помощью которого сеть надежно и автоматически определяет, какой представленный блок участника - который является записью последних транзакций - будет добавлен в цепочку, таким образом добывая и награждая их новой криптовалютой в процессе.
Роль протоколов
Роль консенсусных алгоритмов заключается в достижении уровня надежности сети, построенной на серии узлов (устройств, соединённых с другими устройствами как часть компьютерной сети). Это означает, что, если совершена транзакция, то алгоритм начнет работать - обмениваться данными по сети, чтобы проверить, может ли данное действие иметь место.
Тот же процесс также применяется для создания новых узлов данных в блокчейне или при синхронизации сетевого оборудования, чтобы обеспечить согласованность всего консенсуса.
Консенсусные алгоритмы должны быть достаточно умными, чтобы предвидеть сбои в коммуникации внутри сети.
Алгоритм автоматически предположит, что некоторые процессы и системы будут недоступны и что в результате этого некоторые коммуникации будут потеряны. Чтобы противостоять этому, консенсусный алгоритм должен быть отказоустойчивым и работать для достижения заранее определенного консенсуса или одобрения, по крайней мере, от большинства машин в сети.
Виды протоколов
Не все блокчейны создаются одинаковыми, и многие сильно различаются в зависимости от типа алгоритма консенсуса, который они используют.
Proof-of-Work
Вкратце:
- Proof-of-Work - это алгоритм консенсуса, который защищает децентрализованную сеть блокчейна биткойн.
- Биткойн-майнеры пытаются решать сложные математические уравнения с помощью энергоемкого процесса, чтобы генерировать новые блоки и получать вознаграждения в биткойнах.
Самый известный алгоритм консенсуса - Proof-of-Work (PoW). Он представлен такими монетами, как Bitcoin, Ethereum и Litecoin. Подход PoW стал первым подобным алгоритмом и сегодня он продолжает широко использоваться.
PoW - это простая конструкция, которая, как известно, обладает высокой устойчивостью к кибератакам. Этот подход полностью зависит от вычислительных мощностей каждого члена сети для решения проблем и достижения консенсуса при проведении транзакции.
Тот факт, что он требует ввода данных в своей сети, делает PoW очень трудным для взлома (любая успешная атака потребует, по крайней мере, 50% мощности хеширования всей сети), но это также делает его чрезвычайно затратным с точки зрения энергопотребления. По некоторым оценкам, Биткойн использует 32 ТВтч энергии в год, что примерно равно количеству электроэнергии, используемой всей Данией.
В результате, многие отраслевые эксперты считают, что, хотя PoW и является надежным, но этот протокол уже по-немного начинает терять актуальность, и, как говорят, монеты, подобные Ethereum, изучают альтернативные меры по защите своих децентрализованных сетей. К тому же FOTON подсчитали, что вся криптоиндустрия может сэкономить около 36 миллиардов долларов в год, отказавшись от PoW.
Proof-of-Stake
Proof-of-Stake (PoS) рассматривается, по крайней мере Ethereum, как наследник трона блокчейна. PoS действует как гораздо более энергоэффективное и децентрализованное воплощение алгоритма консенсуса.
Переход крипто-гиганта Ethereum из PoW в PoS показывает потенциал, которым обладает альтернативный подход.
перенос Proof-of-Work на Proof-of-Stake
В тех случаях, когда PoW требует участия сети для совместной работы в создании узлов, PoS работает с вероятностями. Совет блокчейн определяет PoS следующим образом:
«Proof of Stake опирается на вероятностную модель для выбора валидаторов, где вероятность того, что валидатор получит блок для решения, прямо пропорциональна количеству монет, внесенных им в качестве залога для защиты сети. Этот залог может быть изъят, если было замечено какое-либо нарушение со стороны валидатора. Основная математическая головоломка похожа на ту, что используется в Proof of Work. Однако ее сложность значительно снижается»
Byzantine Fault Tolerance (BFT)
Byzantine Fault Tolerance (BFT) назван в честь старой математической загадки Задача византийских генералов. В известной загадке несколько византийских генералов окружили город своими армиями - они должны договориться о действиях при атаке или отступлении. Если решение не будет согласовано генералами, то операция приведет к катастрофе.
Создатели алгоритма консенсуса увидели связь между проблемой византийских генералов и проблемой поиска консенсуса в распределенной базе данных блокчейна. В некоторых приложениях, где целостность цепочки является обязательной, как, например, в платформах управления цифровыми активами, создание быстрой связи между сетями является краеугольным камнем использования блокчейна. Этот подход к алгоритму консенсуса основан на массовой координации.
Подробнее читайте в нашей статье.
Преимущества BFT-подхода в том, что это недорогое решение, которое можно масштабировать. Тем не менее, этот подход еще не завоевал доверие сообщества.
Протоколы набирающие популярность
Delegated Proof-of-Stake (DPoS)
Этот алгоритм очень похож на PoS, но пользователи с большим количеством монет могут голосовать и выбирать представителей (других пользователей, которым они доверяют) для проверки транзакций, а ведущие представители (которые набрали наибольшее количество голосов) получают право проверять транзакции.
Пользователи могут даже делегировать свое право голоса другим пользователям, которым они доверяют, чтобы те смогли голосовать за других представителей сообщества от их имени.
Leased Proof of Stake (LPoS)
Leased Proof of Stake - усовершенствованная версия алгоритма Proof of Stake (PoS). Традиционно в алгоритме Proof of Stake каждый узел содержит определенную сумму криптовалюты и может добавить следующий блок в цепочку блоков. Однако, с помощью Leased Proof of Stake, пользователи могут сдавать в аренду свои монеты пользователям, держащим полные узлы (full nodes).
Чем выше сумма узла (вместе с монетами, взятыми в аренду), тем больше шансов, что для создания следующего блока будет выбран полный узел. Если узел выбран, пользователь будет получать процент от комиссии за транзакции, которые собирает этот узел. Протокол позволяет заработать на майнинговой деятельности, не ведя самого майнинга.
Proof of Elapsed Time (PoET)
Доказательство потраченного времени - это механизм, который предотвращает высокое использование ресурсов и высокого потребления энергии. Концепция была изобретена в начале 2016 года компанией Intel.
Каждый участвующий узел в сети должен ждать произвольно выбранный промежуток времени, и первый, завершивший назначенное время ожидания, находит новый блок.
Каждый узел в блокчейне генерирует случайное время ожидания и переходит в спящий режим на указанный промежуток времени. Тот, кто «просыпается» первым, - и есть тот участник, у которого самое короткое время ожидания. Он «просыпается» и включает новый блок в цепочку, передавая необходимую информацию всей одноранговой сети. Затем повторяется тот же процесс для обнаружения следующего блока.
Simplified Byzantine Fault Tolerance (SBFT)
В SBFT один назначенный генератор блоков собирает и проверяет предложенные транзакции, периодически объединяя их в новый блок. Консенсус обеспечивается Генератором, который применяет правила (проверки), согласованные узлами (ядрами цепочки) к блоку и назначенным подписчиком блока. Другие (множественные) назначенные подписчики блоков ратифицируют предложенный блок своими подписями.
Все члены сети знают идентификаторы подписавших блок и принимают блоки только в том случае, если они подписаны достаточным количеством подписантов.
Delegated Byzantine Fault Tolerance (DBFT)
DBFT называется Делегированный византийский Отказоустойчивый механизм консенсуса, который обеспечивает крупномасштабное участие в консенсусе через голосование по доверенности. Владелец токена, голосуя, может выбрать бухгалтера, которого он поддерживает.
Выбранная группа бухгалтеров, через алгоритм BFT, достигает консенсуса и генерирует новые блоки.
Directed Acyclic Graphs (DAG)
DAG не имеет структуры данных Блокчейн и способен обрабатывать транзакции асинхронно.
Proof of Activity (POA)
Доказательство деятельности. Это смешанный подход, который объединяет два других часто используемых алгоритма, а именно: доказательство работы (POW) и доказательство ставки (POS).
В POA процесс майнинга начинается как стандартный процесс POW с участием различных майнеров, пытающихся опередить друг друга в нахождении решения нового блока с помощью более высокой вычислительной мощности. При обнаружении нового блока система переключается на POS с новым найденным блоком, содержащим только заголовок и адрес вознаграждения майнера.
Proof of Importance (Pol)
Доказательством важности является механизм, который используется для определения того, какие участники сети (узлы) имеют право добавлять блок в блокчейн. Этот процесс известен как сбор блоков. В обмен на сбор блоков, узлы могут взимать комиссию за транзакции в этом блоке.
Учетные записи с более высоким показателем важности будут иметь более высокую вероятность быть выбранным для сбора блоков.
Proof of Capacity (PoC)
Подтверждение емкости (POC) - это алгоритм согласованности используется в блокчейне и позволяет майнинг оборудованию использовать в сети доступное пространство на жестком диске для определения прав на майнинг вместо использования вычислительной мощности устройства.
Proof of Burn (PoB)
Доказательство сжигания. Протокол работает по принципу разрешения майнерам сжигать или уничтожать токены виртуальной валюты, что дает им право писать блоки пропорционально сгоревшим монетам.
Proof of Weight (PoWeight)
Доказательство веса (PoWeight) - эта модель консенсусного алгоритма "взвешивает" каждого пользователя и определяет его вес в зависимости от количества монет, которыми тот владеет. Чем больше монет - тем лучше. Этот алгоритм обладает высокой масштабируемостью и является энергоэффективным, что является его сильной стороной.
PoWeight гарантирует, что большинство пользователей согласится с принятым решением. Однако большим минусом данного алгоритма является система получения вознаграждения за блок - она довольно сложная.
Practical Byzantine Fault Tolerance (PBFT)
Practical Byzantine Fault Tolerance (PBFT) / Практическая византийская отказоустойчивость - это алгоритм консенсуса, который расширяет алгоритм Byzantine Fault Tolerance (BFT) для обеспечения высокого уровня отказоустойчивости в распределенных системах.
PBFT широко используется в корпоративных блокчейн-сетях и других распределенных системах, где требуется высокий уровень консенсуса.
PBFT работает, разбивая процесс консенсуса на ряд шагов, которые повторяются для каждой транзакции. На каждом этапе задействован отдельный узел сети, и каждый узел отвечает за проверку действительности транзакции перед передачей ее следующему узлу.
Алгоритм PBFT требует, чтобы определенное количество узлов достигло консенсуса относительно действительности транзакции, прежде чем она будет добавлена в блокчейн.
В PBFT это число определяется по формуле: f = (n-1)/3, где f - максимальное число неисправных узлов, которое может выдержать система, а n - общее число узлов в сети.
PBFT разработан как отказоустойчивый, то есть он может продолжать корректно работать, даже если некоторые узлы в сети выйдут из строя или будут вести себя злонамеренно.
Алгоритм достигает этого, позволяя узлам общаться друг с другом и достигать консенсуса относительно действительности транзакций. Если один из узлов выходит из строя или ведет себя недобросовестно, другие узлы могут обнаружить проблему и исключить его из процесса консенсуса.
Proof of Identity (PoI)
Proof of Identity (PoI) / Подтверждение личности - это механизм консенсуса, используемый для проверки личности участников сети.
Это один из видов механизма консенсуса, который направлен на повышение доверия, безопасности и подлинности транзакций в блокчейне.
PoI работает, требуя от участников предоставления цифровой идентификации, которая связана с процессом проверки личности в реальном мире.
Это может быть достигнуто с помощью различных методов, таких как выданные удостоверения личности, биометрические данные или другие формы проверяемых идентификационных данных.
Процесс проверки личности гарантирует, что каждый участник является реальным, идентифицируемым лицом, что может помочь предотвратить мошеннические или вредоносные действия в сети.
После того как личность участника подтверждена, он получает право участвовать в работе сети и вносить свой вклад в консенсус. Это может быть достигнуто с помощью различных механизмов, в зависимости от конкретной сети блокчейн.
Например, некоторые сети PoI могут требовать от участников голосования по предложенным транзакциям, в то время как другие могут позволить участникам самим предлагать транзакции.
Почему консенсус так важен в блокчейне
Консенсусные алгоритмы жизненно важны для того, чтобы блокчейны оставались полностью децентрализованными. Из-за децентрализованной природы блокчейна никогда не будет централизованного органа, который бы проверял и обновлял регистр с транзакциями и свежими данными. Поэтому заинтересованные стороны в сети должны решить на равноправной основе то, какие транзакции должны быть добавлены в блокчейн.
Схема работы консенсуса в блокчейне
Такой процесс достижения консенсуса в широко распространенной базе данных был бы невозможен, если бы не интеллектуальный алгоритм, способный автоматически проверять новые транзакции и связывать их со всем оборудованием в сети.
Без наличия подходящего согласованного алгоритма, децентрализованные системы должны были бы уступить централизованному источнику, который хранит и обрабатывает данные в одном месте, делая информацию, которую он хранит, уязвимой для цифровых атак и вмешательства тех, кому удастся получить доступ к его местоположению.
Возможности для совершенствования
Перечисленные алгоритмы консенсуса могут быть лидерами рынка в том, что касается нынешнего использования блокчейна, но у организаций есть много возможностей улучшить уже существующие модели.
Например, при запуске системы безопасности блокчейна REMME был создан алгоритм Proof-of-Service, целью которого является устранение недостатков его предшественников.
Именно благодаря использованию мастернод новая формула работает, обеспечивая согласованность и отказоустойчивость. Мастерноды отвечают за упрощение регистрации и отзыва открытых ключей в блокчейне.
Используя мастерноды, алгоритм консенсуса Proof-of-Service поддерживает жесткий уровень безопасности, одновременно снимая энергетическую нагрузку с остальной части сети. Тем самым обеспечивается надежный и несколько более экологичный подход к блокчейну, чем это было у предшественников.
Несмотря на то, что Proof-of-Work остается главной вехой, удерживающей многие самые популярных на сегодня криптовалюты, основанные на блокчейне, беспокойство Ethereum в связи с его устаревшей структурой сигнализирует о некоторой "золотой лихорадке" среди компаний в поиске правильного алгоритма консенсуса для продвижения отрасли вперед.