logo involta foundation
Involta Foundation

Консенсус в блокчейне: PoW, PoS, PoA и другие

coin

 

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

Консенсус блокчейна — это набор правил, по которым новые блоки добавляются в блокчейн.

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

Proof-of-Work (PoW)

Proof-of-Work переводится на русский как "доказательство о проделанной работе". Впервые концепт PoW был представлен в 1993 году Адамом Бэком, который может в теории являться самим Сатоши Накамото. Концепт появился в проекте Hashcash и должен был служить защитой от e-mail спама. В 2004 году Хал Финей, другой предполагаемый носитель псевдонима Накамото, предложил использовать PoW для электронных денег, а в 2008 году PoW был представлен вместе с Биткоином самим Сатоши. Другие криптовалюты также стали использовать этот алгоритм, например, Ethereum (до перехода на PoS), Bitcoin Cash, Dogecoin, Monero, Zcash.

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

  • DDoS атак (Distributed Denial of Service) — прекращение функционирования сети из-за высокой нагрузки;
  • Атаки 51% — в руках злоумышленников сосредотачивается более половины вычислительной мощности всей сети, благодаря чему они могут добавлять “нездоровые” блоки в сеть.

Алгоритм Proof-of-Work стал технологическим прорывом в области кибербезопасности, а также положил начало для многих криптовалют. PoW послужил основой для децентрализации и защиты от хакерских атак. Благодаря PoW, Биткоин почти невозможно взломать — для этого потребуется как минимум квантовый компьютер и огромное количество ресурсов. Сегодня PoW отходит на задний план, так появились новые типы консенсусов, которые исправляют недостатки PoW, среди которых:

  • Высокая энергозатратность майнинга. Майнеры соревнуются с друг другом, чтобы первее получить награду, которую в итоге получает только один участник за успешное решение задачи, следовательно, большое количество энергии уходит в никуда. Энергопотребление сети иногда достигает энергопотребления некоторых стран, таких как Швейцария или Греция;
  • Низкая скорость и масштабируемость сети. Блокчены с PoW работают очень медленно, например максимальная скорость обработки транзакций Биткоина всего 10 в секунду. Представьте, что миллиарды людей будут использовать Биткоин для пересылки денег - на одну операцию будут уходить месяцы. К тому же, с каждым новом блоком в сети размер блокчейна увеличивается, что означает больше места на диске. В какой-то момент блокчейн будет занимать столько места, что его невозможно будет обслуживать. К тому же, высокая нагрузка сети означает высокие комиссии за транзакции. В период высокой активности размер комиссии может превышать сумму самой транзакции.
  • Централизованность майнеров. Чтобы увеличить шансы на получения награды за блок, майнеры объединяются в пулы. Это повышает сложность майнинга и ведет к увеличению комиссий в сети, а также может служить основной для централизации всей сети.

Proof-of-Stake

Proof-of-Stake — доказательство владения, алгоритм консенсуса, впервые представленный на форуме Bitcointalk в 2011 году в качестве альтернативы PoW. Цель нововведения исправить недостатки PoW, в том числе низкую скорость и масштабируемость сети.

В 2012 году алгоритм был впервые интегрирован в блокчейн PPCoin (ныне PeerCoin). Сейчас такие блокчейны как Cardano, Binance Chain, IOTA, Nano, TRON работают на основе PoS, а в 2020 году в блокчейне Ethereum начался переход на такой же консенсус. К слову, в White Paper Эфириума с самого начала был запланирован этот переход.

В PoS нет майнинга. Вместо решения сложных математических задач, новые монеты добываются при помощи стейкинга — механизма, который позволяет добавлять новые блоки при помощи подтверждения владения криптовалютой сети. Ноды в PoS называются валидаторами. Чтобы стать валидатором, необходимо иметь на балансе определенное количество криптовалюты. Например, в Эфириуме это 32 ETH. Эти монеты нельзя потратить, они используются в качестве залога безопасности. Ноду штрафует сама сеть, если она начинает добавлять “нездоровые” блоки. Стейкинг можно сравнить с банковским депозитом. Человек инвестирует в поддержку блокчейна, за что получает награду.

У Proof-of-Stake тоже есть свои недостатки. Чтобы стать валидатором, необходимо вложить крупную сумму, которая будет недоступна для вывода как минимум несколько месяцев, к тому же за выход ноды в офлайн предусмотрены штрафы, поэтому “майнерам” на PoS необходимо позаботиться о бесперебойной работе их оборудования. Несмотря на эти минусы, преимущества PoS перед PoW следующие:

  • Меньшее энергопотребление;
  • Нет высоких системных требований к майнерам;
  • Высокая скорость и масштабируемость. Например, сеть TRON может выдерживать нагрузку сети в 2000 транзакций в секунду.
  • Низкие комиссии, иногда даже меньше, чем в банке;
  • Участие в развитии проекта. Валидаторы могут голосовать за изменения работы блокчейна.

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

Proof-of-Authority

Proof-of-Authority, то есть доказательство авторитета — это механизм, при котором учитываются “заслуги” и рейтинг валидаторов.

PoA, считающийся эффективным в частных блокчейнах, был впервые представлен в 2014 году одним из создателей Эфириума, Гэвином Вудом, и впоследствии использовался на облачной платформе Microsoft Azure, содержащей более 200 продуктов и сервисов.

Proof-of-Stake — это своего рода попытка совместить PoW и PoS. В алгоритме вообще не существует майнинга, следовательно никакой энергозатратной конкуренции нет. В PoA валидаторы не используют компьютеры или монеты в качестве залога безопасности, а используют свою “репутацию”.

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

Delegated Proof-of-Stake

DPoS — это делегированное доказательство владения, консенсус, созданный Даном Ларимером в 2014 году. DPoS позиционируется как альтернатива PoS и PoW. Целью консенсуса является предотвращение централизации. На DPoS работают такие проекты как EOS, Steemit и Tezos.

DPoS — это более демократичная версия PoS. Главным отличием от классического PoS являются два алгоритма. Держатели монет, “свидетели” (witnesses) передают или делегируют право подтверждать и получать награду другим нодам, они отдают свой голос в сети другому валидатору, то есть делегируют свои полномочия.

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

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

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

Среди минусов DPoS — при низкой активности участников сети возрастает угроза централизации, DDoS атак и нечестного поведения делегатов, что может привести к падению сети.

Leased Proof-of-Stake

“Одолженное” доказательство владения - это еще одна версия PoS, реализованная только на блокчейне Waves.

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

Как часть алгоритма LPoS, любой участник сети может отправлять свои монеты валидаторам, чтобы получать часть награды за обслуживание блокчейна. В то же время, монеты отображаются на балансе кошелька пользователя, но являются заблокированными (их невозможно отправить или обменять). Аренду права можно отменить в любой момент. Валидаторам выгодно “одалживать” монеты, так как это увеличивает их депозит, и в конечном счете они зарабатают больше денег.

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

Proof-of-Importance

Доказательство важности или PoI - это алгоритм разработанный в 2015 году для блокчейна NEM.

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

В NEM, механизм мотивации стейкеров называется харвестингом (англ. harvest - собирать урожай), алгоритм используется для ведения учета активности пользователя и его баланса. Полученные в качестве награды монеты сначала отправляются на “пассивный” кошелек, и после учета всех его “заслуг” в сети передаются на активный счет. Одно из условий харвестинга - иметь депозит в размере 10000 XEM (около $2,000 на момент написания статьи)

Proof-of-Space

Доказательство пространства (также имеет название Proof-of-Capacity) это алгоритм, который вместо вычислительной мощности компьютера использует дисковое пространство, чтобы подтверждать транзакции.

Этот механизм не так популярен, так как еще не удалось реализовать его без недостатков, но проекты на PoC уже существуют, например, Burstcoin и SpaceMint.

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

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

Proof-of-Burn

Доказательство сжигания или PoB это алгоритм, также являющийся альтернативой PoW и PoS.

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

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

Главный минус алгоритма в том, что он подходит только уже состоявшимся проектам, где выпуск монеты уже был завершен, и есть что сжигать. Следовательно, этот алгоритм не так популярен, но все же используется, например, в блокчейне Сounterpart (XCP).

Proof-of-Elapsed-Time

Доказательство истечения времени или PoET — это консенсус от компании Intel. Он считается одним из наиболее сбалансированным и приближенным к идеальному концептом и используется в основном компаниями, например Hyperledger.

Принцип работы PoET напоминает лотерею. Каждая нода в сети ждет случайной генерации времени ожидания для создания определенного блока — каждый раз разный промежуток времени. После этого нода “замораживается”, то есть уходит в период ожидания. Блок создается нодой, которая имеет самое низкое время ожидания. Специальная система следит за тем, чтобы такие промежутки времени всегда генерировались строго случайным образом.

Основной недостаток алгоритма — обязательное использование процессоров, которые поддерживают технологию SGX.

Заключение

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

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

 

 

Читайте также