An Almost-working Decentralized Ledger
October 03, 2017
The big insight that bitcoin makes here is that the ledger doesn’t have to be centralized.
Going back to the town example, imagine that instead of having a chalkboard ledger in the middle of the town, you instead had everyone keep an up-to-date notebook containing the balances of themselves and everyone else in the town. Then, if you wanted to pay someone, you’d have to update the balances of yourself and your counterparty not only in your own personal ledgers, but you’d also have to update them in everyone else’s ledgers as well. If you could do this, you’d have what would collectively be called a decentralized ledger, consisting of all the information across everyone’s notebooks.
The problem though is that every transaction would have to be broadcast to everyone else instantly in order for the system to work, which isn’t possible in our example. Otherwise, you could do a transaction with someone, then run over to someone else who hasn’t updated their notebook yet and do yet another transaction with them that would put you into a negative. Below is an example of this:
- Bill Ackman, Carl Icahn, and Frank Sinatra all start out with a $100 balance, documented in each of their three journals. So Ackman's journal has three entries, Icahn's has three, and Sinatra's has three (all with$100 next to them).
- Ackman makes a $90 bet with Icahn and loses. Icahn adjusts his notebook to reflect that Ackman now has$10 and Icahn now has $190. Icahn then goes over to tell Sinatra about the transaction so Sinatra can update his notebook with the new values. He walks slowly.
- Before Sinatra gets news of Ackman losing to Icahn, Ackman sprints over and makes another $90 bet with Sinatra about Valeant and loses that one, too. Sinatra, not having updated his notebook to include Ackman's transaction with Icahn, writes that Ackman now has$10 and Sinatra now has $190. As far as he knows, Icahn still has$100.
- Later on, Sinatra and Icahn realize that Ackman double-spent on them, but they can’t come to a consensus about whose transaction to keep. And so the system breaks down.
The ability to do multiple transactions before everyone updates their notebooks is called the double-spending problem , and until bitcoin came out, the double-spending problem completely precluded the implementation of a working decentralized ledger. In essence, before bitcoin, we needed Bank of America to exist as a neutral third-party who could:
- Tell us which transactions were legitimate
- Prevent fraudulent people from going around and creating bogus invalid transactions