В большинстве криптовалют новые монеты выпускаются в виде вознаграждения тому участнику сети (узлу), который проверил определённое количество транзакций в сети на валидность, собрал эти транзакции в так называемый блок и добавил этот блок в блокчейн — распределённую базу данных. Создание механизма защиты от бесконтрольного создания блоков и выпуска монет, а также других злоупотреблений — необходимый элемент разработки криптовалюты. Наиболее распространённым механизмом является алгоритм 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-алгоритмов к гибридным, отказа от использования этой концепции в ближайшее время не произойдёт. И тем более этого не случится, пока будет работать блокчейн биткоина.