Skip to content

The Double-Spend Problem

This is the heart of why digital money was unsolved for decades. Understand this page deeply and most of Bitcoin’s design will feel inevitable.

When I hand you a $10 bill, something subtle and powerful happens: I no longer have it. The transfer and the de-duplication happen automatically, enforced by physics. There is exactly one of that bill, and now it’s in your hand, not mine.

Because of this, I literally cannot spend the same bill twice. The laws of physics are doing the bookkeeping for free.

Digital data has the inverse property: bits are infinitely, perfectly copyable. Copy/paste costs nothing and produces an identical original.

So if a “coin” is just a file — say coin.dat — I can:

  1. Email coin.dat to Alice. She thinks she got paid.
  2. Email the identical coin.dat to Bob. He thinks he got paid too.

Both hold a perfect copy. I just spent the same coin twice. This is the double-spend problem, and it is the reason “just make a digital coin” does not work.

Physical cash: [me] --bill--> [you] (I no longer have it ✔)
Naive digital: [me] --copy--> [Alice]
\--copy--> [Bob] (both have it ✘ double-spent)

Why “just add a serial number” isn’t enough

Section titled “Why “just add a serial number” isn’t enough”

A natural first idea: give each coin a unique serial number so copies are detectable. But that only detects duplicates — it doesn’t decide which spend is the real one. If Alice and Bob both show up with coin #A1B2, who actually owns it now?

To answer that, somebody has to keep an authoritative record of the order of events — “this coin went to Alice first, so Bob’s copy is invalid.” In other words, you need a ledger with an agreed-upon ordering of transactions.

And now we’re back to the lens from the last page: digital money requires a ledger everyone agrees on. The next question is brutal — who keeps that ledger?

  1. What “free service” does physics provide for physical cash that digital data lacks?
  2. Walk through, step by step, how I would double-spend a naive digital coin.
  3. Why does adding a unique serial number to each coin fail to fully solve double-spending?
  4. What does solving double-spend ultimately require you to agree on?