Нажмите "Enter", чтобы перейти к контенту

Краткое руководство по консенсусным протоколам блокчейна

Last updated on 13.06.2022

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

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

Алгоритм консенсуса, как и биткойновский proof of work (о котором мы чаще всего слышим), делает две вещи: он гарантирует, что следующий блок в цепочке блоков является единственной версией истины, и не дает могущественным противникам скомпрометировать систему и успешно разветвить цепочку блокчейна.

В качестве proof of work майнеры соревнуются за добавление следующего блока (набора транзакций) в цепочку, пытаясь решить чрезвычайно сложную криптографическую головоломку. Тот, кто первым решит головоломку, выигрывает в лотерею. В награду за свои усилия майнер получает 12,5 новых биткойнов и небольшую комиссию за транзакцию.

Тем не менее, хотя proof of work биткойна само по себе является шедевром, оно не совсем идеально.

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

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

Хотя это и не исчерпывающий список, ниже приведены несколько альтернативных подходов, которые широко используются.

Proof of stake

Наиболее распространенной альтернативой proof of work является proof of stake. В этом типе консенсусного алгоритма вместо того, чтобы инвестировать в дорогое компьютерное оборудование в гонке за добычей блоков, «валидатор» инвестирует в токены системы.

Обратите внимание на термин валидатор. Это потому, что в proof of stake не существует процесса создания монет (майнинга). Вместо этого все монеты существуют с первого дня, а валидаторам (также называемым заинтересованными сторонами, поскольку они владеют долей в системе) платят строго в виде комиссии за транзакцию.

При proof of stake ваш шанс быть выбранным для создания следующего блока зависит от доли монет в системе, которой вы владеете (или отведенной для стейкинга). Вероятность выбора валидатора с 300 монетами будет в три раза выше, чем у человека со 100 монетами.

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

Теперь мы столкнулись с проблемой. Что может отговорить валидатора от создания двух блоков и требования двух комиссий за транзакции? И что может отговорить подписавшего от подписания обоих этих блоков? Это было названо проблемой «nothing-at-stake». У участника, которому нечего терять, нет причин не вести себя плохо.

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

Peercoin была первой монетой, в которой реализована proof of stake, за ней последовали blackcoin и NXT. Ethereum в настоящее время полагается на proof of work, но планирует перейти на proof of stake в 2022 году (после нескольких лет сдвигов предыдущих дедлайнов).

Proof of activity

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

Некоторые предполагают, что это может вызвать проблемы с безопасностью в результате «трагедии общин», когда люди действуют в личных интересах и портят систему. Итак, proof of activity было создано как альтернативная структура поощрения для системы биткойнов. Proof of activity — это гибридный подход, который сочетает в себе как proof of work, так и proof of stake.

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

В этот момент система переключается на proof of stake. На основе информации в заголовке выбирается случайная группа валидаторов для подписи нового блока. Чем больше монет в системе у валидатора, тем больше вероятность того, что его выберут. Шаблон становится полноценным блоком, как только его подписывают все валидаторы.

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

Критика proof of activity такая же, как и в отношении proof of work (слишком много энергии требуется для майнинга блоков) и proof of stake (нет ничего, что могло бы удержать валидатора от двойной подписи).

Decred — единственная монета на данный момент, использующая разновидность proof of activity.

Proof of burn

С proof of burn вместо того, чтобы вкладывать деньги в дорогое компьютерное оборудование, вы «сжигаете» монеты, отправляя их на адрес, откуда их невозможно вернуть. Сжигая свои монеты, вы получаете пожизненную привилегию майнить в системе на основе процесса случайного выбора.

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

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

Хотя proof of burn является интересной альтернативой proof of work, протокол по-прежнему бесполезно тратит ресурсы. Другая критика заключается в том, что мощность майнинга просто достается тем, кто готов сжечь больше денег.

Единственная монета, использующая proof of burn, — это slimcoin, криптовалюта, основанная на peercoin. Он использует комбинацию proof of work, proof of stake и proof of burn, но в настоящее время он только полуактивен .

Proof of capacity

Как мы видели, в большинстве этих альтернативных протоколов используется тот или иной тип схемы pay-to-play. Proof of capacity ничем не отличается, но здесь вы «платите» пространством на жестком диске. Чем больше у вас места на жестком диске, тем выше ваши шансы добыть следующий блок и получить награду за блок.

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

Инвестируя в терабайты места на жестком диске, вы покупаете себе больше шансов создавать дубликаты блоков и разветвлять систему. Но с proof of capacity у нас по-прежнему остается проблема: ничего не поставлено на карту, чтобы отпугнуть злоумышленников.

Варианты proof of capacity включают proof of storage and proof of space. Burstcoin — единственная криптовалюта, использующая модель proof of capacity.

Proof of elapsed time

Производитель чипов Intel разработал собственный альтернативный протокол консенсуса, называемый proof of elapsed time. Эта система работает аналогично proof of work, но потребляет гораздо меньше электроэнергии.

Кроме того, вместо того, чтобы заставлять участников решать криптографическую головоломку, алгоритм использует доверенную среду выполнения (TEE), такую ​​как SGX, чтобы гарантировать создание блоков случайным образом в виде лотереи, но без необходимой работы.

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

Единственная проблема с этим протоколом заключается в том, что он требует, чтобы вы доверяли Intel, а доверие к третьим сторонам — это не то, от чего мы пытались избавиться с помощью публичных блокчейнов?