До появления блокчейна биткоина было предпринято множество попыток создать децентрализованную платежную систему. Но все они были безуспешны, так как разработчикам не удавалось решить проблему достижения консенсуса. То есть механизма, который бы позволил достичь соглашения между всеми участниками сети и обеспечить ее работоспособность. На примере самых популярных алгоритмов консенсуса рассмотрим, как они устроены и как достигается соглашение в блокчейне.
Договорные отношения
Консенсус в общем понимании означает способ прийти к соглашению. В блокчейне, который представляет собой децентрализованную систему, не имеющую единого управляющего органа, для достижения консенсуса разработаны различные алгоритмы.
В блокчейн-сети не имеет значения, доверяют ли участники системы друг другу или нет. Они должны договориться об определенных принципах работы, которые будут касаться всех. И это – прямая функция механизма консенсуса.
Алгоритм консенсуса в блокчейне представляет собой набор определенных математических правил и функций, которые позволяют достичь соглашения между всеми участниками и обеспечить работоспособность сети. В настоящий момент есть несколько различных методов достижения консенсуса.
PoW
Объяснение механизма доказательства работы кроется в самом названии – Proof-of-work. Чтобы участвовать в проверке транзакции, участникам необходимо публично доказать проведенную работу. Это правило предотвращает атаку на систему, в том случае, если злоумышленник создает фейковых избирателей. Чем больше проделано работы, тем больше возможностей произвести следующий блок и получить вознаграждение. Но, важно отметить, что это всего лишь возможности, а не общее правило.
PoW считают самым легким и в то же время самым стабильным алгоритмом в контексте полной децентрализации и анонимности.
PoS
Механизм Proof-of-Stake очень похож на голосование среди акционеров компании — наибольшую власть получает тот, у кого больше всех акций. Таким образом, дело не в количестве голосов, а в их весомости.
Преимущество алгоритма в мотивации честно подтверждать транзакции. Недостаток в том, что в реальности сложно построить систему, основанную на PoS, которая предусмотрит все возможные злонамеренные сценарии поведения участников.
В PoW атака 51% теоретически возможна, хотя в действительности она бессмысленна для хакеров. В системе PoS атака возможна, если больше чем половина заинтересованных лиц тайно сговорится друг с другом.
До сих пор нет проверенного временем и гарантированно безопасного метода на основе PoS, все они в стадии разработки.
При этом, разработчики Ethereum прямо сейчас пытаются объединить преимущества PoW и PoS с помощью протокола Casper.
DPoS
Главная идея Delegated Proof-of-Stake состоит в том, что каждый пользователь может голосовать за представителей – тех, кто одобряет транзакции. Личности представителей заранее известны. Это могут быть авторитетные люди, известные своими успехами в сфере блокчейна.
Важно отметить, что система учитывает вес голосов. Чем больше конкретный избиратель имеет нативной (внутренней) валюты, тем больше может влиять на «выборы».
PoI
Proof of Importance (PoI) – алгоритм консенсуса, который представляет собой расширенную версию PoS. Кроме рассмотрения количества участников, обладающих монетами, алгоритм анализирует поведение участников. Например, где, когда и как часто монеты ими передаются. Таким способом, устраняется ситуация, когда богатеют только богатые.
BFT
Алгоритмы консенсуса Multisignature и Byzantine Fault Tolerance стоит рассмотреть вместе. Они используются для достижения согласия среди ограниченной по численности группы людей. В случае с Multisignature, это – единицы участников, в Byzantine Fault Tolerance — десятки. Byzantine Fault Tolerance имеет смысл только тогда, когда все стороны знают друг друга.
FBA
Federated Byzantine Agreement был первоначально применен в Ripple и позже был улучшен Stellar. Механизм разрешает достигать согласия среди большого количества участников, общее количество которых неизвестно.
Каждый участник доверяет ограниченному числу других участников, формируя «круг доверия», в котором они легко достигают согласия. В конечном счете получается много «кругов доверия», что так или иначе позволяет достигнуть полного согласия во всей сети.
Никто не идеален
Безусловно, ни один из алгоритмов консенсуса не является идеальным и нет универсального метода достижения согласия в децентрализованной или частично децентрализованной системе. У каждого механизма свои достоинства и недостатки. Вот почему алгоритмы непрерывно обновляются и дополняются.
Разработчики довольны креативны в вопросе создания консенсусов. И этому остается только порадоваться, потому что блокчейн без консенсуса, как смартфон без подключения к интернету – едва ли имеет смысл.
Источник: Cryptovest.com