Майнер не решает секретную формулу
Заголовок блока содержит среди прочего хеш предыдущего блока, корень Меркла транзакций, метку времени, цель в поле bits и nonce. Майнер меняет nonce и другие изменяемые данные и многократно хеширует заголовок. Допустимый результат должен быть численно меньше либо равен цели, которую требуют правила сети.
Криптографический хеш после даже небольшого изменения входных данных ведёт себя непредсказуемо. Неизвестен короткий путь, позволяющий заранее определить удачный nonce; майнер перебирает огромное число вариантов. Но после нахождения результата узел лишь вычисляет хеш представленного заголовка и напрямую проверяет условие. Эта асимметрия между дорогим поиском и дешёвой проверкой лежит в основе механизма.
Работа привязывает новый блок к истории
Хеш предыдущего заголовка входит в новый заголовок. Изменение старой транзакции поменяло бы корень Меркла, хеш блока и ссылки во всех последующих блоках. Злоумышленнику пришлось бы заново выполнить proof of work для изменённого блока и догнать работу, которую остальная сеть продолжает добавлять.
Поэтому proof of work не делает прошлое математически неизменяемым. Он делает изменение измеримо дорогим, а вероятность догнать сеть снижается по мере накопления работы после подтверждённой транзакции, пока честная часть сети сохраняет преимущество. Число подтверждений — практический показатель накопленной защиты, а не абсолютная гарантия.
- изменение транзакции меняет обязательство в заголовке блока
- изменение старого блока требует перестроить и следующую за ним ветвь
- узлы сравнивают накопленную работу только между цепочками, которые считают действительными
Proof of work мешает дёшево изобразить большинство
В открытой сети один человек может создать тысячи личностей или узлов. Поэтому подсчёт IP-адресов либо имён пользователей был бы слабой системой голосования. Proof of work связывает создание истории с реальными вычислительными ресурсами, которые нельзя умножить простым копированием личности.
Работа не определяет, кто морально прав, и сама не задаёт правила действительной транзакции. Майнер может найти хеш даже для блока с недопустимой инфляцией, но полные узлы его отвергнут. Proof of work решает вопрос порядка и стоимости конкурирующих историй; проверка узлами определяет, соответствует ли блок принятым правилам вообще.
Энергия — свойство механизма и предмет спора
Попытки хеширования потребляют электричество и требуют оборудования. Неточно утверждать, что proof of work ничего не стоит или что расход энергии автоматически доказывает общественную ценность Биткоина. Механизм намеренно делает конкурирующую историю дорогой, а безопасность возникает именно потому, что нужные ресурсы имеют цену.
Нельзя решить, оправдана ли эта цена, одним описанием протокола. Добросовестная оценка должна сравнивать потребление, источники энергии, выбросы, пользу для безопасности и доступные альтернативы. Более узкий технический факт таков: узел проверяет требуемую работу по заголовку, не повторяя весь поиск.