Опыты · Ни у кого нет денег · Глава 3
SHA-256 в браузере: добыть марку Hashcash
Всё считается в вашем браузере, никуда ничего не отправляется.
Про этот опыт
Hashcash придумал британский криптограф Адам Бэк в 1997 году против спама. Перед отправкой письма компьютер отправителя несколько секунд решал бессмысленную задачку и прикладывал к письму решение. Обычному человеку несколько секунд на письмо ничего не стоят, а рассыльщику миллионов писем эта работа обошлась бы в целую ферму компьютеров. Проверить решение получатель мог мгновенно.
Через одиннадцать лет эту задачку взял Сатоши Накамото. В его девяти страницах доказательство работы пришло из Hashcash, и Сатоши на него сослался, только для биткоина задача намного тяжелее: вся сеть находит решение в среднем раз в десять минут.
Здесь это можно сделать руками. Браузер считает SHA-256 письма со счётчиком, пока вы печатаете, на вашем компьютере, и никуда текст не отправляет. Добыча перебирает счётчики, пока хеш не начнётся с нужного числа нулевых бит. Каждый лишний бит удваивает работу, а проверка так и остаётся одним хешем. Поменяйте в письме одну букву, и марка перестанет подходить.
Из книги
Ни у кого нет денег · Глава 3
Праздный бог
В девяти страницах не было почти ничего нового. Доказательство работы пришло из Hashcash Адама Бэка, идея денег, которые ведёт вся сеть, — из b-money Вэя Дая, на обоих Сатоши честно сослался. Цифровые подписи, хеш-функции, одноранговые сети к тому времени изучали по учебникам. Новым был способ сложить эти детали так, чтобы незнакомые люди, которые друг другу не доверяют, сами договорились, какая из версий общей записи правильная.