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

Что такое алгоритмы консенсуса 

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

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

Какие существуют алгоритмы консенсуса

Одним из основных отличий различных криптовалютных сетей является тип используемых алгоритмов консенсуса. 

Proof-of-Work

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

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

Так как при использовании PoW требуется вводить данные «своих» сетей, он считается довольно сложным для кибер-взломов (чтобы осуществить успешную атаку, нужно располагать мощностью минимум 50% конкретной сети), но этот плюс является одновременно и минусом, ведь алгоритм очень затратный в плане энергопотребления. По неофициальным расчетам, сети Bitcoin ежегодно используют более 32 ТВт⋅ч электроэнергии, что равняется объему потребления такой страны как Дания. По этой причине, несмотря на свою надёжность, PoW становится все менее актуальным инструментом.

Delegated Proof-of-Stake

Алгоритм консенсуса DPoS крайне схож с PoS, однако в данном случае у участников с внушительным числом монет имеется возможность голосования и выбора представителей (другие участники сети, вызывающие доверие), которые осуществляли бы проверку транзакций. При этом ведущий представитель (набравший в голосовании больше всех голосов) может осуществлять проверку финансовых операций других участников. Также каждый пользователь имеет возможность делегировать свои права при голосовании другому участнику. Наиболее известные блокчейны, использующие DPoS — EOS, Steemit и Tezos.

Proof-of-Stake

Алгоритм PoS в разных криптовалютных сетях (например, ETH) считается отличной альтернативой PoW-системе. На работе данного алгоритма основаны блокчейны Binance, Cardano, IOTA, Nano, Tomo Chain, Zilliqa, TRON и другие.

PoS является наиболее энергоэффективным и децентрализованным решением. Для сравнения: при PoW важна вычислительная мощность участников сети, а в случае с PoS в первую очередь учитываются вероятности. Алгоритм PoS основывается на вероятностном решении при выборе валидаторов — в данном случае вероятность получения блока определяется с учётом числа монет, которые были внесены валидаторами как залог защиты собственной сети. Совет блокчейна может изымать такие залоги при наличии нарушений от конкретного валидатора.

Proof-of-Importance

Алгоритм PoI — подвид PoS, который был разработан для блокчейна NEM. Он основан на специальном механизме, предусматривающем определение списка пользователей сети, имеющих возможность добавлять в блокчейны новые блоки. Взамен этого участники конкретной сети получают возможность взимать комиссионный сбор за любую транзакцию, проводимую в конкретном блоке. При этом учётная запись, имеющая наивысший параметр «важности», получает привилегии выбора её для осуществления блочных сборов.

Byzantine Fault Tolerance

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

Разработчики Byzantine Fault Tolerance сопоставили задачу генералов и работу распределённой базы данных блокчейнов. Если целостность цепочки является обязательной, формирование быстрых связей в сетях становится серьёзной проблемой использования блокчейнов. Именно поэтому алгоритм BFT требует массовую координацию. Суть алгоритма BFT заключается в достижении консенсуса путём голосования, причём решение может быть принято даже при отсутствии ответа от некоторых узлов либо если они предоставляют неверные данные. Коллективное принятие решений защищает систему от сбоев.

Главным преимуществом Byzantine Fault Tolerance является дешевизна и возможность масштабирования решения. Алгоритм применяется в работе блокчейнов Zilliqa, Hyperledger. Подвидом BFT считается алгоритм Multisignature Fault Tolerance, главным отличием которого является ограниченное количество участников в сети (до 10), в то время как подход Byzantine предусматривает наличие любого количества пользователей.

Federated Byzantine Agreement

Алгоритм FBA изначально применялся для работы криптовалютной платформы Ripple, но затем его усовершенствовали и начали применять разработчики Stellar. Данный подход основан на «механизме доверия». Каждый пользователь доверяет конкретным участникам, вследствие чего формируется некий «круг доверия», внутри которого обеспечивается лёгкость достижения согласия. Таких «кругов доверия» может быть неограниченное количество, что гарантирует достижение консенсуса всей сети.

Proof-of-Burn

Алгоритм PoB предусматривает возможность «сжигания» криптовалюты майнерами, вследствие чего они могут записывать данные в новые блоки в количестве, пропорциональном сгоревшим токенам. Как правило, PoB используется для достижения консенсуса в криптовалюте Slimcoin.

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

Автор: Евгений Тарасов
#Криптовалюта