Для достижения консенсуса сеть биткойна применяет так называемый механизм доказательства выполненной работы (proof of work, PoW). За сложным названием стоит очень простая идея. Поскольку невозможно выбирать, кто из майнеров будет создавать следующий блок, основываясь на их личности, вместо этого создается головоломка, которую сложно решить (то есть требуется выполнить работу), но легко проверить (любой может быстро убедиться, что ответ точен). Участники договариваются, что тот, кто первым решит задачу, и будет создавать новый блок. Майнерам приходится тратить ресурсы (вычислительные мощности и электричество), чтобы решить задачу, найдя правильный хеш — нечто вроде уникального «отпечатка пальца» для текста или файла с данными. За каждый найденный блок майнеры получают биткойны. Головоломка математически устроена так, что быстрого или обходного решения не существует. Поэтому, когда остальные участники сети видят ответ, то полагают, что для его нахождения была выполнена некоторая работа. Решение задач происходит непрерывно — по словам Дино Марка Ангаритиса, «в районе 500 тысяч триллионов хешей в секунду». Майнеры «ищут хеш, соответствующий условию. По статистике, это должно происходить каждые 10 минут. Это процесс Пуассона, так что иногда требуется всего одна минута, а иногда один час, но в среднем это десять минут». Ангаритис объясняет принцип работы: «Майнеры собирают все ожидающие одобрения транзакции, какие находят в сети, и пропускают информацию через функцию криптографического дайджеста — так называемый надежный хеш-алгоритм (SHA-256), который выдает 32-байтовое значение хеша. Если хеш не превышает определенного целевого значения (установленного сетью и уточняемого каждые 2016 блоков), то майнеру удалось найти ответ головоломки и «решить» блок. К несчастью для майнера, найти правильный хеш очень сложно. Если полученное значение неверно, майнер немного меняет исходные данные и предпринимает новую попытку. Каждая попытка дает совершенно другой хеш. Майнерам приходится решать задачу много раз, пока не найдется правильный ответ. По данным на ноябрь 2015 года, среднее число попыток для каждой задачи — 350 квинтиллионов (3,5 * 1020). Это громадная работа!»[43]
Возможно, вам доводилось слышать и о других механизмах консенсуса. Первая версия блокчейна Ethereum — Frontier — также использовала доказательство выполненной работы, но в Ethereum 1.1 предполагается заменить его механизмом доказательства долей в собственности. Этот механизм требует от участников инвестировать и поддерживать некий запас ценности (например, в собственной валюте блокчейна, такой как пиркойн, NXT и т. д.), чтобы при голосовании не расходовать электроэнергию. Другие блокчейны, в частности Ripple и Stellar, обеспечивают консенсус с помощью социальных сетей; от новых участников (то есть новых узлов) требуется составить уникальный список как минимум 100 узлов, голосованию которых этот пользователь доверяет. Такое доказательство не является непредубежденным — новому участнику нужно обладать социальным интеллектом и репутацией. Еще один механизм — доказательство активности. В нем сочетаются доказательство выполненной работой и доказательство долями в собственности: определенное случайным образом количество майнеров должно подписать блок с помощью криптоключа, и только тогда блок станет официальным [44]. Доказательство емкости требует, чтобы майнер отводил значительный объем своего жесткого диска на майнинг. Еще одна похожая концепция — доказательство хранения — требует приобрести и раскрыть для совместного использования дисковое пространство в распределенном облаке.
43
43. Дино Марк Ангаритис, вложение в электронном письме, 27 ноября 2015 г. В своих подсчетах он пришел к «принятию хешрейта в 583,000,000 (Gh/s = миллиард хешей в секунду). В 10 минутах 600 секунд. 600*583,000,000 = 349,800,000,000 миллиардов хешей в 10 минутах. Это 350 квинтилионов / 350,000,000,000,000,000,000 / 350 миллионов миллионов миллиардов»
44
44. Устойчивость горячих вызовов майнеров в пересылке их коинов по тупиковому адресу, где они становятся не подлежащими выкупу. В обмен за сжигание этих коинов, майнеры получают доступ к лотерее, где они, предположительно, получают больше, чем сжигают. Это не механизм консенсуса, а механизм доверия.