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

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

By bit.team

Если мы начнем изучать блокчейн-проекты на Coinmarketrate.com, то среди наиболее важных особенностей блокчейна — децентрализация: эта технология позволяет неопровержимо подтвердить, что данные, содержащиеся в его реестре (бухгалтерской книге), верны, неизменны и защищены от мошенничества, и делает это без необходимости привлечения третьей стороны в качестве гаранта. Чтобы легче понять эту концепцию, представьте, что текущий счет функционирует без банка, страховой полис — без страховой компании, покупка недвижимости — без нотариуса. В технологии блокчейн все эти действия (и многие другие) возможны благодаря «удостоверяющему механизму», называемому алгоритмом консенсуса.

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

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

На практике алгоритм консенсуса является основой системы блокчейн, поскольку именно он позволяет пользователям сети взаимодействовать друг с другом в доверительной манере.

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

Давайте теперь посмотрим, что представляют собой основные алгоритмы консенсуса:

Proof of Work — PoW

Это один из первых алгоритмов консенсуса и самый известный. Создан Сатоши Накамото наравне с Биткойном. Эта система включает в себя математические вопросы различной сложности. Участники, которые участвуют в создании блоков цепи (точнее, блокчейна), называются майнерами.

Майнер, который первым нашел решение вопроса (технически Hash), отправляет его в сеть. Когда 50%+1 узлов в сети подтверждают решение, происходит создание блока, и выплата вознаграждения майнеру.

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

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

Proof of Stake — PoS

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

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

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

Ethereum 2.0 переходит от PoW к PoS.

Delegated Proof of Stake — DPoS

Этот консенсус работает точно так же, как PoS, с той разницей, что валидаторы с большими ресурсами должны голосовать и выбирать делегатов.

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

Некоторые криптовалюты используют DPoS, в том числе Decimal Chain, EOS и LISK.

Leased Proof of Stake — LPoS

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

Он имеет низкое энергопотребление и используется криптовалютой Waves.

Proof of authority — PoA

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

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

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

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

Microsoft Azure использует PoA для предоставления IT-решений своим клиентам.

Доказательство прошедшего времени — PoET

Этот механизм консенсуса был разработан компанией Intel и основан на двух принципах:

  • каждый узел в системе должен быть идентифицируемым;
  • каждый узел должен быть принят системой, прежде чем участвовать в ней.

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

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

Менее известные алгоритмы консенсуса в наши дни

Practical Byzantine Fault Tolerance — pBFT

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

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

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

Этот тип алгоритма принят в компании Zilliqa

Simplified Byzantine Fault Tolerance — sBFT

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

Delegated Byzantine Fault Tolerance — dBFT

При таком консенсусе проверка блоков узлами группы осуществляется посредством своего рода игры, в которой голосование делегируется.

Proof of Activity — PoA

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

Proof of Importance -PoI

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

  • количество валюты, потраченной за 30 дней
  • объем производительности, внесенный в блоки
  • масса узлов

Это вариант PoS, но поскольку в ставках нет валюты, это исключает возможность накопления ресурсов.

Proof of capability — PoC

В Proof of Capacity консенсус основан на системе, называемой черчением, которая определяет возможные решения математических вопросов до их формулировки. Майнер, выбравший самое быстрое решение, запускает новый блок.

Это эффективный, дешевый и распределенный алгоритм консенсуса.

Proof of Burnout — PoB

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

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

Proof of weight — PoWeight

Алгоритм консенсуса Proof of Weight — это довольно новая концепция, которая используется в одном из самых перспективных блокчейнов третьего поколения — Algorand.

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

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

В настоящее время он принят только компанией Algorand.