Как работает алгоритм Proof-of-Work (PoW)?

Как работает алгоритм Proof-of-Work (PoW)?

Главное

  • Proof-of-Work (англ. «Доказательство работы») — алгоритм, благодаря которому в блокчейне происходит добавление нового блока, подтверждение транзакций и верификация единой версии реестра во всех его копиях, которые хранят отдельные ноды.
  • Механизм PoW был первым алгоритмом консенсуса в криптовалюте. Именно этот механизм использовал Сатоши Накамото при создании биткоина.
  • Внедрение Proof-of-Work позволило решить проблему двойного расходования, а экономический стимул, предусмотренный в алгоритме, стал основой для появления индустрии майнинга биткоина.

Суть Proof-of-Work

Концепция Proof-of-Work — алгоритм защиты распределенных систем от злоупотреблений (DoS-атак, спам-рассылок и тому подобного), суть которого сводится к двум основным пунктам:

  1. необходимости выполнения определенной достаточно сложной и длительной задачи;
  2. возможности быстро и легко проверить результат.

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

Кто и когда придумал термин Proof-of-Work

Впервые концепция Proof-of- Work была описана в 1993 году в ра

Б оте “Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology”.

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

В 1997 году криптограф и будущий основатель Blockstream А дам Бэк запустил проект Hashcash, посвященный защите от спама. Система предлагала хеширование частичной инверсии при отправке по электронной почте. Для расчета соответствующего заголовка требуется около 2 52 хеш-вычислений, которые надо пересчитывать для каждой отправки. И если для нескольких обычных писем дополнительные расчеты препятствий не создают, то массовую рассылку спама необходимость постоянного пересчета делает очень ресурсоемкой. При этом проверка корректности вычисленного кода осуществляется очень быстро: используется однократное вычисление SHA-1 с заранее подготовленной меткой.

Сам термин Proof-of-Work появился в 1999 году в статье “Proofs of Work and Bread Pudding Protocols”.

Как Proof-of-Work используют в криптовалютах

Сатоши Накамото использовал концепцию PoW в первой криптовалюте — биткоине. Он взял идею Hashcash, добавив к ней механизм изменяющейся сложности — уменьшение или увеличение N (требуемого числа нулей) в зависимости от суммарной мощности участников сети. Вычисляемой функцией стала SHA-256.

Кто такой Сатоши Накамото?

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

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

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

Главные достижения алгоритма PoW

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

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

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

На что влияет сложность вычисления нового блока

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

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

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

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

Алгоритм Proof-of-Work и добыча криптовалют

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

Развенчивая мифы: так ли страшен биткоин для экологии?

Основные криптовалюты, использующие алгоритм Proof-of-Work

По данным CoinMarketCap на август 2022 года, криптовалютами с наибольшей рыночной капитализацией, использующими алгоритм Proof-of-Work, являются:

  • Ethereum Classic (ETC);
  • Litecoin (LTC);
  • Monero (XMR);
  • Bitcoin Cash (BCH);
  • Bitcoin SV (BSV);
  • Zcash (ZEC);
  • Kadena (KDA).

Что еще почитать

Алгоритм консенсуса Proof-of-Stake (PoS): как он работает и почему так популярен?

Какие существуют виды биткоин-адресов?

Что такое решение второго уровня (Layer 2) в блокчейне?

Что такое дерево Меркла?

Что такое Web3?

Кто такой Виталик Бутерин?

CryptoIt