25
DOUBLE SPENDING
In this email exchange on the metzdowd Cryptography Mailing List, Satoshi Nakamoto addresses the issue of double spending in the Bitcoin system. Double spending is a potential flaw in a digital cash system where a user can spend the same coins more than once.
Nakamoto explains that nodes keep transactions in their working set until they get into a block. If a transaction reaches 90% of nodes, then each time a new block is found, it has a 90% chance of being in it. He further explains that if someone tries to double spend, one and only one spend will always become valid, the others invalid.
He also clarifies that an attacker who has more computing power than all the honest participants can’t simply add blocks to the end. The attacker has to go back and redo the block his transaction is in and all the blocks after it, as well as any new blocks the network keeps adding to the end while he’s doing that. He’s rewriting history. Once his branch is longer, it becomes the new valid one.
This email provides a deep insight into the mechanisms that Nakamoto designed to prevent double spending in the Bitcoin system. It showcases the robustness of the Bitcoin protocol and Nakamoto’s deep understanding of the potential vulnerabilities in a digital cash system.