Как работают proof-of-work (pow) и proof-of-stake (pos), алгоритмы достижения консенсуса в блокчейне

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

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

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

Навигация по материалу:

  • 1 Какую математическую задачу решает PoW
  • 2 Как работает блокчейн и транзакции
  • 3 Реализация Proof-of-Work в сети блокчейна
  • 4 Какие алгоритмы используют доказательство выполнения работы PoW
  • 5 Преимущества принципа Proof-of-Work
  • 6 Недостатки алгоритма PoS
  • 7 Что такое атака 51% и какова ее угроза?
  • 8 Принцип работы Proof-of-stake
  • 9 Отличия между Proof-of-Stake и Proof-of-Work

Какую математическую задачу решает PoW

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

  • Хеш-функция, или попытка найти входные данные, зная выходные;
  • Разложение целого числа на множители;
  • «Головоломка для экскурсанта»: если сервер подозревает DoS-атаку, он требует от клиента вычисления хеш-функций, иногда в определенном порядке, тогда это проблема вычисления значений цепочки хэш-функций.

В случае с PoW используется хэширование.

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

Как работает блокчейн и транзакции

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

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

Если же проблема решается слишком просто, это делает систему уязвимой для злоупотреблений, спама и DoS-атак.

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

Реализация Proof-of-Work в сети блокчейна
Майнеры решают задачу, формируют новый блок и подтверждают транзакции. Сложность задачи зависит от количества пользователей, текущей мощности и нагрузки на сеть.

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

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

Какие алгоритмы используют доказательство выполнения работы PoW

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

Среднее время формирования блока составляет 10 минут. Подобная же система реализована в похожих на биткоин криптовалютах, например, в лайткоине.

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

Преимущества принципа Proof-of-Work

Основные его преимущества — защита от DoS-атак и низкое влияние доли криптовалюты в собственности у майнера на возможности добычи.

Online-курс по Blockchain. Лекция 17. Proof-of-stake алгоритмы консенсуса


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

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

Недостатки алгоритма PoS

Основные проблемы: огромные расходы, «бесполезность» вычислений и «атака 51%».

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

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

И именно это происходит в случае с биткоином.

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

Что такое атака 51% и какова ее угроза?

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

Кроме того, они могут отменять транзакции.

Предположим, Алиса послала Бобу деньги через блокчейн. Алиса участвует в атаке 51%, а Боб — нет. Их транзакция помещается в блок, но атакующие не дают переводу состояться.

Происходит раздвоение блокчейна.

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

Сеть устроена так, что принимается более длинная цепочка, а короткая отклоняется, а значит, сделка между Алисой и Бобом не состоялась, и Боб не получил деньги.

Вот таким образом злоумышленники могут отменять транзакции.

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

Принцип работы Proof-of-stake

PoS работает по другому. Вместо решения криптографической задачи транзакции валидируются путем «заморозки» некоторого количества монет майнеров в качестве обеспечения.

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

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

Подробнее про работу алгоритма консенсуса Proof-of-stake читайте здесь.

Как работают proof-of-work (pow) и proof-of-stake (pos), алгоритмы достижения консенсуса в блокчейне

Отличия между Proof-of-Stake и Proof-of-Work

Очевидное преимущество Proof-of-Stake перед Proof-of-Work заключается в том, что его выполнение не требует от майнеров гигантского расхода электроэнергии, что делает его намного более эффективным. Но это не единственное его достоинство.

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

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

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

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

  • Proof of Activity (доказательство активности) — стандартная гибридная схема, совмещающая PoW и PoS;
  • Delegated Proof of Stake (делегированное подтверждение доли) — общий термин, описывающий эволюцию базовых консенсус-протоколов на основе подтверждения доли. DPoS используется в BitShares, а также в предложенных алгоритмах, таких как Slasher и Tendermint;
  • Proof of Burn (доказательство сжигания) — «сжигание» происходит путем отправки монет на такой адрес, с которого гарантированно нельзя их потратить. Избавляясь таким образом от своих монет, пользователь получает право на пожизненный майнинг, который также устроен как лотерея среди всех владельцев сожженных монет;
  • Proof of Capacity (доказательство ресурсов) — реализация популярной идеи «мегабайты как ресурсы». Необходимо выделить существенный объем дискового пространства, чтобы включиться в майнинг;
  • Proof of Storage (доказательство хранения) – похожая на предыдущую концепция, при которой выделенное место используется всеми участниками как совместное облачное хранилище.

Наиболее подходящая Вам статья…

Понравилась статья? Поделиться с друзьями: