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