Hashcash — не цифровые деньги, награда за майнинг или консенсус. Это привязанный к приложению proof of work, зависящий от формата, сложности, свежести, ресурса и защиты от replay.
Dwork и Naor описали в 1992 году вычислительную цену против спама. Back в марте 1997 опубликовал рабочую схему частичного hash-прообраза, а в 2002 формализовал Hashcash против злоупотребления бесплатными сетевыми ресурсами.
Марка v1 содержит версию, bits, дату, resource, расширение, случайное значение и счётчик: `1:bits:date:resource:ext:rand:counter`. Отправитель меняет счётчик до порога; получатель проверяет синтаксис и политику.
Ищется вход, SHA-1 digest которого начинается нужным числом нулевых битов. Это частичный прообраз — свойство одного hash, а не две разные строки с одинаковым hash. Коллизия здесь неверный термин.
Для идеального hash шанс попытки равен 2^-b, ожидается 2^b попыток. Время случайно и сильно варьируется, но проверка требует одного hash и сравнения с порогом. Эта асимметрия ключевая.
Resource связывает работу с адресатом или сервисом, дата ограничивает срок. Без привязки марку переносят, без учёта использованных марок или связи с сообщением — повторяют. Глобального реестра нет.
Число bits не универсальная константа. Сервис учитывает скорость устройств, цену атаки, объём, задержку и срок; рост и специализация hardware обесценивают старые пороги.
Вычислительная цена не отличает честного пользователя от botnet, украденной энергии или мощного отправителя. Она нагружает слабые устройства, не гарантирует доставку или privacy и не заменяет лимиты, репутацию, фильтры и мониторинг.
Исходная марка расходуется, это не переводимая монета. RPOW Финни принимал Hashcash и выдавал новый token для последовательного повторного использования, но двойную трату контролировал server в аттестуемом hardware.
Whitepaper Bitcoin прямо цитирует Back и наследует поиск hash ниже target плюс дешёвую проверку дорогой работы. Это не значит, что Hashcash уже содержал bitcoin-деньги, blockchain или децентрализованный консенсус.
Bitcoin дважды SHA-256 хеширует заголовки блоков, организует гонку за общую цепь, меняет target и сортирует историю по накопленной работе. Награды, комиссии, валидация и правила узлов делают идею частью консенсуса. Cynthia Dwork and Moni Naor — Pricing via Processing or Combatting Junk Mail · Adam Back — Hashcash original implementation and announcement · Adam Back — Hashcash: A Denial of Service Counter-Measure · Hashcash — Version 1 stamp format and command documentation · Hashcash — FAQ and operational limits · Markus Jakobsson and Ari Juels — Proofs of Work and Bread Pudding Protocols · Hal Finney — RPOW: Reusable Proofs of Work · Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System · Bitcoin Core — Proof-of-work target and difficulty validation
Для полной картины прочитайте эту статью вместе с Proof of Work, Шифропанки, Adam Back, Bitcoin Whitepaper, Bitcoin, Криптографический хеш. На эту статью также ссылаются Шифропанки, Bit Gold, Reusable Proofs of Work, Adam Back.