Почему децентрализованные платформы используют различный протокол консенсуса

Виды консенсуса Блокчейн - портал Guland

Любая реализация криптовалюты должна быть способна защитить Blockchain от возможных атак. Например, злоумышленник может потратить деньги, а затем отменить транзакцию, распределив собственную версию блок-цепи, которая не включает транзакцию.

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

Что такое алгоритм консенсуса Блокчейн

Поскольку Blockchain является децентрализованной системой, не имеющей окончательного решения, внедрение механизма, позволяющего членам сети достичь консенсуса, имеет первостепенное значение.

Консенсус Блокчейн - это процесс принятия решений группой, в котором все члены системы готовы прийти к единому решению в интересах всей группы. Сам процесс принятия решений также называется консенсусным алгоритмом. В этом случае ключевыми аспектами являются:

  1. Согласование.
  2. Совместная работа.
  3. Кооперирование.
  4. Эгалитаризм - равенство всех голосов.
  5. Инклюзивность – максимальное количество людей участвующих в консенсусе.
  6. Участие.

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

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

Механизмы достижения консенсуса в Блокчейне

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

Зачем нужны эти сложности? Оказывается, без согласования между узлами сети возможна повторная трата средств (double spending).

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

Proof-of-Work (PoW) (Доказательство работы)

Сфера применения: Bitcoin, Ethereum, Litecoin, Dogecoin и т. д.

Алгоритм Proof-of-Work является наиболее популярным консенсусным механизмом, используемым для блочной цепи, не в последнюю очередь потому, что он используется на платформах Bitcoin и Ethereum. Суть алгоритма заключается в том, что сетевой узел должен выполнять интенсивные вычисления, чтобы доказать транзакцию и добавить ее в пул, причем результат легко сопоставим с другими результатами сетевых вычислений. Первый, кто завершил необходимые вычисления, получает вознаграждение за выполненную работу, поэтому члены системы конкурируют. Следует также подчеркнуть, что объем выполненных работ всегда является постоянным.

Плюсы PoW:

Система достаточно проста и понятна, но е нее все еще есть некоторые серьезные недостатки.

Минусы PoW:

Proof-of-Stake (PoS) (Доказательство ставки)

Сфера применения: VCash, BitBay, Peercoin, Qtum, Stratis.

Если в системе используется алгоритм Proof-of-Stake, более уместно говорить о валидаторах, то есть о членах сети, а не о шахтерах. Чтобы подтвердить транзакцию и добавить ее в пул, валидаторы блокируют часть средств, конвертируя их в ставку, которую они кладут на блок, который может быть добавлен в сеть. Это обязательное залоговое обеспечение фиксируется с целью обеспечения любого возможного ненадлежащего поведения члена сети. Таким образом, участники конкурируют за право на подтверждение и не создание блока.

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

Плюсы PoS:

Минусы PoS:

Delegated Proof-of-Stake (DPoS) (Делегированное подтверждение ставки)

Сфера применения: EOS, BitShares.

Делегированный алгоритм Proof-of-Stake сильно отличается от PoS. Механизм включает в себя выбор определенного количества валидаторов среди всех членов сети, которые подтверждают транзакции и участвуют в создании блока по расписанию. Выбор валидаторов основан на репутации членов; эти лица пользуются ограниченным доверием и имеют право подтвердить цепочку блоков, не допуская вредоносных пользователей. Тем не менее, валидаторы переизбираются каждый раунд, причем круглая скорость зависит от каждой системы.

Заинтересованным сторонам есть что потерять и, следовательно, контролировать процесс, обеспечивая тем самым честное согласие. Если в системе будут замечены злонамеренное или промедлительное поведение делегатов, это и будет являться основанием для их удаления из списка валидаторов в ходе голосования.

Плюсы DPoS:

Минусы DPoS:

Другие модификации алгоритма PoS

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

LPoS (Leased Proof-of-Stake) используется на платформе Waves. Нижняя строка этого метода заключается в том, что баланс передается в аренду другим узлам добычи, а доходы от непрямой добычи заработаны без необходимости вычислений.

PoI («Доказательство важности») уделяет должное внимание не только балансовому счету члена сети, но и активности / важности пользователя, которая измеряется транзакциями, выполненными на счете. Соответственно, этот механизм поощряет пользователей к тому, чтобы они были постоянно активными и демонстрировали его ради более высоких вознаграждений. PoI используется на платформе NEM.

Proof of Concept (PoC) (Доказательство емкости)

Сфера применения: Burstcoin.

Всякий раз, когда этот метод используется, основное внимание уделяется пространству жесткого диска, а не вычислительной производительности: чем больше пространство на жестком диске, тем выше вероятность того, что шахтер найдет желаемый хеш, чтобы построить новый блок. Этот алгоритм возник в ответ на два вопроса, которые связаны с высоким потреблением энергии (в случае с PoW) и ситуациями, когда шахтерам выгоднее сохранять валюту, а не использовать ее (PoS). Алгоритм состоит из двух этапов - построения графика и добычи. Построение предполагает создание на жестком диске списка всех возможных значений хеша блока, разделенных на пары.

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

Плюсы PoC:

Минусы PoC:

Proof-of-authority (PoAuthority) (Доказательство полномочий)

Только благодаря действию валидаторов достигается консенсус. Алгоритм имеет много общего с PoI и PoS. Тем не менее, существует значительный нюанс: пользователи могут квалифицироваться как валидаторы при условии, что они получают специальное разрешение от органов управления США (алгоритм был разработан профессионалами из США). Пользователи могут быть уверены, что валидаторы заслуживают доверия, но централизация сети очень высока.

Плюсы:

Минусы:

Proof of burn (PoB) (доказательство горения)

Сфера применения: Slimcoin.

Метод построен вокруг «горящих» монет. Суть заключается в том, что для того, чтобы новый блок был извлечен, пользователям необходимо отправить монеты на определенный адрес («записать» адрес) без возможности последующей пересылки в другое место. Чем больше количество монет, сжигаемых пользователем, тем выше вероятность того, что у пользователя есть бонусы за добычу для сгоревших монет.

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

Byzantine fault tolerance (BFT) (задача византийских генералов)

Сфера применения: Ripple, Stellar, Hyperledger, Dispatch.

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

Подобно PoS, алгоритм имеет некоторые модификации. Например, Ripple и Stellar используют Федеративное Византийское Соглашение (FBA), где каждый валидатор отвечает за свои собственные цепочки сообщений. Более того, в Ripple генералы предварительно выбираются из общего числа пользователей.

Плюсы BFT:

Минусы BFT:

Delegated Byzantine fault tolerance (dBFT) (Делегированная задача византийских генералов)

Сфера применения: NEO.

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

Плюсы dBFT:

Минусы dBFT:

Directed Acyclic Graphs (DAG) (Направленные ациклические графики)

Сфера применения: Iota, Hashgraph.

Направленный ациклический график - это метод асинхронной обработки транзакций. Он не полагается на структуру блочной цепи. Например, проверка транзакции не требует вычисления всего блока. Каждая новая транзакция подтверждает предыдущие две. Чтобы гарантировать честность транзакций, алгоритм Tangle, используемый Iota, выполняет двойную проверку на специальном централизованном узле (Координатор). Поэтому этот механизм вряд ли можно назвать 100% подходящим для децентрализованной сети.

Плюсы DAG:

Недостатки DAG:

Тройная защита

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

Используются три ранее упомянутых консенсусных алгоритма. Каждый из алгоритмов хорош по-своему: DPoS обеспечивает высокий уровень безопасности, Proof-of-Capacity использует меньше энергии и является лучшим вариантом с точки зрения использования ресурсов, Proof-of-Work - это надежный метод, подходящий для широко распространенной сети.

Плюсы:

Минусы:

Виды алгоритмов консенсуса (видео)