Why Digital Cash Was Hard¶
Physical cash has a property that is easy to overlook because it requires no engineering: when you hand someone a banknote, you no longer have it. The transfer is physical, not logical. Digital information does not work this way. Copying a file does not remove it from the source. Anyone trying to build "digital cash" (money that moves as easily as a file but behaves like a banknote) runs into this mismatch immediately.
This chapter explains the specific technical problem that stood between the invention of public-key cryptography (1976) and the release of Bitcoin (2009): thirty-three years during which multiple cryptographers built real, working systems for digital money and none of them produced something that worked without a company or bank standing in the middle. Understanding why they failed is the fastest way to understand what Bitcoin actually changed.
The problem¶
Copying is not spending¶
Represent a unit of money as a string of bits, a serial number, a signature, whatever. The string can be copied at zero marginal cost and perfect fidelity. If Alice sends that string to Bob as payment, nothing stops Alice from also sending the identical string to Carol, or from keeping a copy for herself. This is the double-spending problem: in a naive digital cash scheme, spending a digital coin does not consume it.
With physical cash, double-spending is physically prevented. With a bank account, double-spending is prevented by the bank: it keeps a ledger, checks that Alice's balance covers the payment, and decrements it. The bank is a trusted third party that resolves conflicting claims by being the single authority everyone consults.
The trusted third party¶
Every pre-Bitcoin electronic payment system (credit cards, PayPal, wire transfers, and the cryptographic digital cash schemes discussed in this section) solved double-spending by appointing an authority to keep the authoritative record. This works, and it is why electronic payments existed decades before Bitcoin. But it comes with specific costs that the cypherpunks (see The Cypherpunk Movement) considered fundamental, not incidental:
- The authority can freeze or reverse transactions. A payment processor can block a merchant, a bank can freeze an account, a government can compel either to do so.
- The authority can identify the parties. Even if a scheme uses cryptography to hide the payment amount or the coin's history, the authority that clears the transaction usually knows who is paying whom, because it has to authenticate account holders to prevent fraud.
- The authority is a single point of failure. If it goes offline, is hacked, or shuts down, the payment system stops working or the record of who owns what can be lost or altered.
- The authority must be trusted not to issue money it doesn't back. Nothing stops the operator of a centralized digital cash system from crediting itself with balances it did not earn, short of an audit nobody can force.
Satoshi Nakamoto's whitepaper opens by naming this cost directly:
"Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model." Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, Section 1
The engineering question this chapter's predecessors were chasing, restated precisely: can you prevent double-spending without appointing a trusted party to keep the ledger?
How earlier systems tried to solve it¶
Cryptographers had two broad strategies before Bitcoin, and both are worth understanding because Bitcoin's design is easiest to grasp as a specific combination of ideas already in circulation, not a discovery from nowhere.
Strategy 1: Blind the coins, trust the bank¶
David Chaum's DigiCash (see David Chaum and DigiCash) used blind signatures: a bank could cryptographically sign a digital coin without seeing its serial number, which gave users unlinkable, privacy-preserving digital cash. But the bank still kept the ledger and still had to be trusted to check for double-spending at redemption time. Chaum's innovation solved a privacy problem inside the trusted-third-party model; it did not remove the trusted third party.
Strategy 2: Make the record itself the authority, but who keeps it?¶
A different line of cypherpunk work asked whether a network of participants, rather than a single company, could keep the ledger. Wei Dai's b-money (1998) and Nick Szabo's Bit Gold (1998) both proposed decentralized schemes where a distributed set of parties recorded who owned what, using cryptographic proof-of-work to make new units costly to create. Both were proposals, not deployed systems, and both, by their own authors' descriptions, needed something to keep participants' copies of the ledger synchronized and needed a way to decide whose version of history counted when participants disagreed. Neither fully solved that coordination problem in a way that was published and implemented.
This second, harder problem (getting a decentralized set of mutually distrusting parties to agree on a single, tamper-evident order of events without a central coordinator) is a distributed systems problem, not a cryptography problem. It's covered in depth in Distributed Systems, particularly the Byzantine Generals Problem. Cryptography alone (hashes, signatures) can prove that a specific record hasn't been tampered with. It cannot, by itself, tell two nodes which of two conflicting histories to believe.
What Bitcoin actually added¶
Bitcoin's whitepaper is explicit that it is combining existing pieces, not introducing all of them from scratch. Its central contribution is a specific answer to the ordering problem: use proof-of-work (an idea already used non-monetarily in Hashcash) not just to make forgery expensive, but as a voting mechanism where influence over the record is proportional to computational effort rather than the number of identities a participant controls. This is what defeats Sybil attacks. Creating a thousand fake identities does not help you outvote the network if votes are counted in computed hashes, not accounts.
The chapters that follow in this section trace the specific prior work (DigiCash, Hashcash, b-money, Bit Gold) and then show exactly how Satoshi's whitepaper combined them into a system that had never been deployed before: decentralized digital cash with no issuing authority, secured by economic cost rather than legal enforcement.
Common misconceptions¶
"Bitcoin invented digital money." Digital money (value represented and transferred as data) existed long before Bitcoin, in bank databases, PayPal balances, and DigiCash. What Bitcoin introduced was a way to prevent double-spending of digital value without a party that can unilaterally alter the ledger.
"Bitcoin invented public-key cryptography or hashing." Both existed decades earlier (see Cryptography). Bitcoin is an application of existing cryptographic primitives combined with a new consensus mechanism.
"The double-spending problem was unsolved before Bitcoin." It was solved repeatedly (by every bank, card network, and payment processor) using trusted intermediaries. What was unsolved was preventing double-spending without one.
Further reading¶
- Bitcoin: A Peer-to-Peer Electronic Cash System: Satoshi Nakamoto, Section 1
- b-money: Wei Dai, 1998
- Bit Gold: Nick Szabo, 2005 retrospective of a 1998 idea
- Chaum, D. (1983). Blind Signatures for Untraceable Payments