83 / 691HC

Hashcash

A one-use proof-of-work stamp against service abuse

Hashcash is a computational stamp system proposed by Adam Back in 1997: a sender searches for a value whose hash meets a chosen threshold, while a recipient verifies the result with one cheap computation.

Hashcash is not digital cash, a mining reward or consensus. It is an application-bound proof of expended work whose security depends on stamp format, difficulty, freshness, resource binding and replay policy.

Cynthia Dwork and Moni Naor described computational pricing against junk mail in 1992. Adam Back published a working partial-hash-preimage scheme in March 1997 and formalized Hashcash in 2002 as a general countermeasure to abuse of unmetered network resources.

A v1 stamp contains version, bit count, date, resource, extension, random value and counter fields: `1:bits:date:resource:ext:rand:counter`. The sender changes the counter until the hash of the complete stamp meets the threshold; the receiver also checks syntax and local policy.

The task seeks an input whose SHA-1 digest begins with the required number of zero bits. This is a partial preimage problem: the target is a property of one hash, not two distinct messages with the same hash. Calling it a collision misstates the security model.

For an ideal hash, one trial succeeds with probability 2^-b, so the expected work is 2^b trials. Actual completion time is random with wide variance, while verification needs one hash and a threshold comparison; this cost asymmetry is the core feature.

The resource field binds work to a recipient or service and the date limits freshness. Without binding, a stamp can be moved elsewhere; without a spent-stamp record or message binding, it can be replayed. Hashcash itself provides no global double-spend registry.

The bit count is not a universal security constant. A service must account for device speed, attacker cost, expected volume, acceptable delay and validity window; hardware growth and specialization can make an earlier threshold ineffective.

Computational cost cannot distinguish an honest user from a botnet, stolen electricity or a powerful sender. It can burden slow or battery devices, guarantees neither delivery nor privacy, and does not remove the need for rate limits, reputation, filters and operational monitoring.

The original stamp is a consumable proof for a particular use, not a transferable coin. Hal Finney's 2004 RPOW accepted a Hashcash token and issued a fresh token for sequential reuse, but double-spend control depended on a server running in attestable hardware.

The Bitcoin whitepaper explicitly cites Back's paper and inherits a search for hash output below a target plus cheap verification of costly work. That documented technical lineage does not mean Hashcash already contained bitcoin money, a blockchain or decentralized consensus.

Bitcoin hashes block headers with double SHA-256, makes miners compete over a shared candidate chain, retargets difficulty and orders history by cumulative work. Rewards, fees, transaction validation and node rules turn the one-use anti-spam idea into one component of an open consensus system. 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

For the clearest picture, read this entry together with Proof of Work, Cypherpunks, Adam Back, Bitcoin Whitepaper, Bitcoin, Cryptographic hash. The reverse links also lead from Cypherpunks, Bit Gold, Reusable Proofs of Work, Adam Back.

DOC · 001Cynthia Dwork and Moni Naor — Pricing via Processing or Combatting Junk MailPrimaryDOC · 002Adam Back — Hashcash original implementation and announcementPrimaryDOC · 003Adam Back — Hashcash: A Denial of Service Counter-MeasurePrimaryDOC · 004Hashcash — Version 1 stamp format and command documentationDocumentationDOC · 005Hashcash — FAQ and operational limitsDocumentationDOC · 006Markus Jakobsson and Ari Juels — Proofs of Work and Bread Pudding ProtocolsPrimaryDOC · 007Hal Finney — RPOW: Reusable Proofs of WorkPrimaryDOC · 008Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash SystemPrimaryDOC · 009Bitcoin Core — Proof-of-work target and difficulty validationDocumentation
Reviewed 1 August 2026Source-first · No investment advice