Proof-of-Work: предтеча всех алгоритмов в криптоиндустрии. Proof-of-Work и Proof-of-Stake: сравнение

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

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

История создания алгоритма Proof-of-Work

Идея механизма PoW появилась в литературе ещё в далёком 1993 году. Тогда его предложили использовать для защиты электронной почты от спама. Хотя словосочетание Proof-of-Work ещё не прозвучало - термин появился только в 1999.

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

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

Что такое Proof-of-Work?

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

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

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

Особенности Proof-of-Work

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

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

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

Плюсы Proof-of-Work

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

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

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

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

Минусы PoW

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

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

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

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

Сосредоточение вычислительных ресурсов под контролем немногочисленных компаний противоречит самой идее децентрализации, заложенной в криптовалюты. Работы над «ASIC-защищёнными» PoW-алгоритмами ведутся, однако, говорить об их полной успешности пока рано. В основном они лишь делают использование спецоборудования более затратным.

Использование Proof-of-Work в криптовалютах

Proof-of-Work используется в абсолютном большинстве криптовалют, представленных сегодня на рынке. Исключение составляют те валюты, в которых выпуск новых токенов либо не предусмотрен (все монеты находились в сети с самого начала работы), либо осуществляется централизовано (как в Ripple).

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

Майнинг криптовалют, использующих Proof-of-Work

На сегодняшний день все «майнящиеся» цифровые валюты используют именно алгоритм PoW. Однако майнинг крупнейших криптовалют для одиночек, использующих неспециализированное оборудование и не входящих в крупные пулы, практически недоступен. Их нишей стали немногочисленные ASIC-защищённые крипты или монеты «со дна», которые никому из крупных игроков не нужны.

Популярные криптовалюты на алгоритме Proof-of-Work

Само собой, главная PoW-крипта в мире - это Bitcoin. С него началась история криптовалют и пока что не видно монеты, которая смогла бы сместить биткоин с вершины и отобрать у него звание «цифрового золота».

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

Вторая криптовалюта по капитализации - Ethereum, на данный момент также использует для защиты сети алгоритм PoW, называемый Ethash. В дальнейшем разработчики планируют перейти сперва на гибридную схему PoW+PoS, а затем и полностью отказаться от алгоритма Proof-of-Work.

Подобный подход вызван тем, что создатель Ethereum Виталик Бутерин изначально намеревался использовать концепцию Proof-of-Stake, однако, нерешённые проблемы этого алгоритма вынудили его обратиться к более проверенным вариантам. Сейчас же разработчики надеются, что создаваемый ими протокол PoS под названием Casper решит проблемы доказательства доли и защиты блокчейна от форков, что позволит отказаться от PoW.

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

Какое будущее ждёт алгоритм Proof-of-Work?

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

И, хотя недостатки Proof-of-Work приводят к постепенному переходу от «чистых» PoW-алгоритмов к гибридным, отказа от использования этой концепции в ближайшее время не произойдёт. И тем более этого не случится, пока будет работать блокчейн биткоина.

Большинство современных криптовалют, включая Bitcoin и Ethereum, использует алгоритм Proof-of-Work для построения цепочки блоков. Вкратце, процесс PoW можно описать так: майнеры затрачивают вычислительные мощности и электроэнергию, подбирая правильную хеш-сумму, которая означает действительную подпись блока транзакций. Рассчитать обычный хеш для блока не составляет труда, но для защиты цепочки блоков от атаки злоумышленников вид хеш-суммы намеренно усложнён, например её первые четыре цифры обязаны быть нулями. В этом случае, если злоумышленник захочет изменить транзакции внутри блокчейна, ему понадобится затратить время для расчёта правильной хеш-суммы. Но т. к. в блокчейне каждый последующий блок связан с предыдущим, пересчитать хеши придётся по всей цепочке. Это делает блокчейн устойчивым к взлому, а майнерам выплачивается вознаграждение за криптографические расчёты. Более подробно процесс описывается в этом видео:

Однако, некоторые криптовалюты (Peercoin, Novacoin, Bitshares и др.) решили отказаться от концепции Proof-of-Work.

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

(Чарльз Хоскинсон изданию Bitcoin Magazine)

Переход Ethereum на Proof-of-Stake был анонсирован предположительно на конец 2017 года. В планах Ethereum всегда присутствовал переход на модель PoS при помощи ещё не завершённого протокола Casper . Впрочем, решение не окончательное: в дискуссии на Reddit, Виталик Бутерин определил вероятность реализации Casper в 2017 году как больше 50%, но меньше 80%. Но почему разработчики Эфириума колеблятся? Если PoW доказал свою эффективность от атак на примере Bitcoin, то c PoS вскрывается множество проблем с безопасностью.

И, наконец, Etherium Classic не планирует переходить в ближайшее время на PoS:

В сообществе ETC по большей части достигло согласия в том, что нам не следует спешить с переходом на непроверенный и потенциально опасный PoS. Наша команда разработчиков сейчас работает над ‘выпиливанием’ печально известной ‘бомбы сложности’, которая должна принудить к переходу на PoS посредством хард-форка. Как минимум, мы должны дождаться и посмотреть (в течение длительного периода) как произойдет такой переход в ETH, оставив им сомнительную честь тестирования непроверенной концепции на живой системе с капитализацией под миллиард долларов. Это даст нам больше времени и данных, чтобы принять решение относительно долгосрочного механизма ETC консенсуса: остаться ли нам на PoW, перейти на PoS, или на гибридную PoW/PoS схему, которая более теоретически обоснована, чем чистый PoS.
, применяемый в сетях блокчейн. Он используется для подтверждения транзакций и добавления в цепочку новых блоков. С помощью PoW майнеры конкурируют друг с другом за обработку транзакций в сети и получение соответствующего вознаграждения.

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

Что понимается под математической задачей?

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

  • хэш-функция, то есть нахождение входных параметров на основании выходных;
  • факторизация целых чисел, то есть представление какого-то числа в виде произведения двух других чисел;
  • протокол задачи пошагового руководства. Если сервер заподозрит DoS-атаку, он потребует вычисления хэш-функции несколькими узлами в определенном порядке. В этом случае задача сводится к поиску цепочки значений хэш-функции.

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

Почему важна сложность?

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

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

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

Где применяется Proof of Work?

Алгоритм Proof of Work используется во многих криптовалютах. Наиболее известное его применение - система Биткоин. Именно в ней данный алгоритм был применен впервые. В качестве задачи используется Hashcash. Этот алгоритм позволяет менять сложность задачи в зависимости от общей вычислительной мощности сети. Среднее время формирования блока составляет 10 минут. Аналогичная система используется и в других криптовалютах, построенных на базе биткоина.

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

Главными преимуществами алгоритма консенсуса PoW являются его защищенность от DoS-атак и низкая зависимость майнинговых возможностей пользователя от доли принадлежащих ему монет.

Защита от DoS-атак. Алгоритм Proof of Work накладывает определенные ограничения на действия в сети. Для выполнения любых действий требуются значительные усилия. Для проведения результативной атаки необходимы большая вычислительная мощность и время на проведение вычислений. Поэтому атака в принципе возможна, но не имеет смысла, так как ее стоимость будет очень высокой.

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

Недостатки Proof of Work

Главные недостатки - это высокие затраты, "бесполезность" вычислений и возможность проведения т. н. "атак 51%".

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

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

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

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

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

Что такое Proof-of-Work – от истоков к сути

Первая идея, которую можно отнести к термину Proof-of-Work, появилась в 1993-ем году в работе Синтии Дворк и Мони Наор, которая носила название «Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology». Создатели этой работы выдвинули идею о том, что для получения доступа к общим ресурсам пользователю нужно осуществить определенные сложные вычисления, что позволит защитить данный ресурс от чрезмерного употребления участниками сети. Спустя 4 года был запущен проект Hashcash, который был посвящен системе защиты от спама. Системой было предложено хэширование части инверсии посредством использования ресурсов электронной почты. Чтобы рассчитать конкретный заголовок требовалось 252 вычислений при каждой отправке. При необходимости отправки стандартных писем препятствия не создавались, а вот для рассылки спама пересчет становился очень сложно выполнимой задачей. А для проверки корректности вычисляемого кода не требуется большого количества времени, поскольку применяется специальный тип вычисления SHA-1 при заблаговременно подготовленной метке.
Через два года термин Proof-of-Work (PoW) уже стал официально использоваться, а впервые был официально освещен в статье Якоббсон и Джуэлс на тему протоколов. Через некоторое время принцип работы Proof-of-Work (PoW) был использован для построения сети Bitcoin – протокол позволял достигать консенсуса. Сатоши Накамото, разработчик Биткоина, несколько видоизменил первоначальный вариант Proof-of-Work , добавив к нему механизм изменяющейся сложности, который уменьшал или увеличивал требуемое число нулей относительно общего объема мощностей пользователей биткоин-сети. Полноценную работу системе обеспечила функция SHA-256.


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

Отличительные черты Proof-of-Work: как все это работает

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

То, как работает Proof-of-Work , можно заключить в следующие пункты:

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

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

Proof-of-Work vs. Proof-of-Stake: сравнение алгоритмов


Proof-of-Work (PoW) , в переводе с английского доказательство работы, способствует в некоторой степени подверженности криптовалют двойному расходованию. При этом Proof-of-Work (PoW) снижает этот показатель по мере увеличения объемов подтвержденных транзакций в рамках сети, что говорит о зависимости от количества вычислительных мощностей, которые находятся в распоряжении хакера. Как гарантии с использованием Proof-of-Work (PoW) криптовалютами, является снижение рисков двойной траты и пользователи ожидают конкретного количества подтверждений операции, а также используют системы защиты по снижению показателей риска для быстрых платежей.
Возможно тяжело сразу понять, что это Proof-of-Work но простыми словами если проводя параллели между его основным конкурентом PoS, нельзя не отметить, что эти алгоритмы могут быть подвержены аналогичным атакам, однако результат этого бывает разный. Главная опасность для них представлена в лице DoS, или отказа в обслуживании, и Sybill attack, или атаки Сибиллы. Первая атака ориентирована на прерывание нормального функционирования системы, что достигается благодаря переполнению узлов сети. К примеру, хакер может наводнить сеть операциями с низкой стоимостью в колоссальном количестве – вспомним флуд-атаку Биткоин-сети 2 года назад. При использовании атаки Сибиллы работа сети подрывается посредством создания грандиозного количества некорректно функционирующих узлов.
Уровень подверженности алгоритма Proof-of-Work и его конкурента данным атакам имеет зависимость не только от разновидности согласования, которое применяется в рамках сети, но и от детализации сетевого протокола. При этом на сегодня нет внутренних характеристик, которые могли бы сделать тот или иной протокол менее восприимчивым к атакам.


Очередной атакой, которая может заставить пользователей поволноваться за свои криптоактивы, является selfish mining , или эгоистичный майнинг. При Proof-of-Work майнинге, при этой атаке происходит выборочная публикация блоков что заставляет пользователей расходовать зря свои вычислительные ресурсы. Разработчиков Proof-of-Work (PoW) это волнует, поскольку в отличие от своего соперника PoS, который не обременен дорогими ресурсами, здесь ситуация обстоит иначе. Однако никто из разработчиков до сих пор не подтвердил эффективности данного вида атаки, а некоторые полагают, что в предположении допущены серьезные погрешности.
Определение Proof-of-Work (PoW) относительно устойчивости к атакам, базируется на общей вычислительной мощности сети. А вот для Proof-of-Stake не существует эквивалента «состоянию здоровья», поскольку при равномерном распределении валюты в сети атака базируется на ее разветвлении, и при наличии у пользователей значительной доли существует риск применения цензуры к транзакциям.

Плюсы и минусы Proof-of-Work (PoW)

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