pull down to refresh

@daily_btc_lore | Daily Bitcoin History Threads

July 12, 2010 | 16 years ago today

L1 Bitcoin Determined to be Impractical for MicropaymentsL1 Bitcoin Determined to be Impractical for Micropayments


Some of Bitcoin's most consequential decisions were never debated. They were discovered. On July 12, 2010, a forum user asked a question about spam, and the answer that came back had been sitting in Bitcoin's source code all along, written by Satoshi before anyone thought to ask. In the space of four minutes, one of Bitcoin's most hyped early use cases was declared dead on layer one.

Four Minutes From Question to AnswerFour Minutes From Question to Answer

At 12:04 PM on July 12, 2010, a Bitcointalk user named Mionione posted an uncomfortable question in a thread you can still read today at https://bitcointalk.org/index.php?topic=287.0: what stops someone from flooding the network with 0.00000001 BTC transactions, bloating every node's storage one satoshi at a time? Free transactions plus permanent storage looked like an open invitation to grief the network forever.

At 12:08 PM, four minutes later, Gavin Andresen replied. He did not propose a fix or open a design discussion. He quoted a comment already sitting in Satoshi's code: "To limit dust spam, require a 0.01 fee if any output is less than 0.01." Gavin did not write that rule. Satoshi had, before anyone asked the question. The policy was settled in silence, inside the codebase, and only surfaced when someone stumbled into it.

At July 2010 prices, 0.01 BTC was worth about a tenth of a cent, so the fee looked trivial. But a user named llama saw the real cost instantly: "That pretty much ruins the possibility of using bitcoin for true micropayments." The objection mattered, because micropayments were a pillar of early Bitcoin advocacy: pay per article, pay per search, pay per page view. Gavin held the line anyway: "I don't think Bitcoin should try to solve too many very hard problems all at once."

Satoshi's Verdict Came Three Weeks LaterSatoshi's Verdict Came Three Weeks Later

July 12 was the day the community discovered the dust rule and argued over what it cost them. Satoshi himself said nothing that day. His response came three weeks later, on August 4, 2010, in a post preserved at https://bitcointalk.org/index.php?topic=287.msg7524#msg7524: "Bitcoin isn't currently practical for very small micropayments. Not for things like pay per search or per page view without an aggregating mechanism, not things needing to pay less than 0.01."

That is Bitcoin's creator, in plain language, ruling out sub-cent payments on the base layer. Not as a bug to be fixed later, but as a structural consequence of the design: every node stores every transaction forever, so transactions cannot be both free and arbitrarily small without inviting exactly the spam Mionione described.

"Without an Aggregating Mechanism""Without an Aggregating Mechanism"

Read Satoshi's phrasing again: "without an aggregating mechanism." He did not say micropayments were impossible. He said they needed something Bitcoin did not have yet, a way to batch many tiny payments into occasional on-chain settlements. In one clause he sketched the shape of the solution while declining to build it.

Six years later, developers started building exactly that mechanism. The Lightning Network is, at its core, an aggregating mechanism: open a channel with one on-chain transaction, route thousands of sub-cent payments off-chain, settle with one more. The use case llama mourned in July 2010 was not killed. It was deferred to a layer that did not exist yet, on a base layer that, by deliberate design, was never going to carry it.


Part of an ongoing series on Bitcoin history. This event falls on July 12, 2010.

This is an excellent find. I didn't know that Satoshi had said anything about micropayments.

I wonder what satoshi would think/thinks of zaps. I need to think about this one some more.

reply

Was this enforced at the mempool like current dust thresholds? This was long before my time and as far as I can tell I can send sub .01 transactions just fine today, so I assume something changed over the years. Is there more information on the changes?

reply