What is Bitcoin & how does it work? (in plain english)
One of the challenges in creating an electronic ledger (and therefore a money) is ensuring people can’t change the ledger to give themselves more. If everyone in the world could be honest about how much “money” they had we wouldn’t need banks or even paper money. In fact this is often how small groups operate. It’s common for roommates to simply remember who has done what chores for instance. Every member of the group keeps a mental ledger of who owes whom.
Money and equivalents allow us to accomplish something similar in larger groups. However, the larger the group, the more likely it is for there to be cheaters. If everyone wrote down how much money they had and were trusted to do so -- the liars would soon have all the money and honest people’s savings would be inflated to nothing.
The second challenge in creating an electronic ledger (and therefore a money) is ensuring people can’t “undo” a payment. If we can somehow ensure the ledger itself is actually correct and uncheatable, we must next ensure people can’t update their transactions post-facto. If I send you some money to buy your car but then revert the ledger back to before I did -- I can then spend that money again (and again, and again etc).
Turns out this actually is the harder problem of the two.
Let’s first discuss how the US system of money solves this problem and then how the Bitcoin system of money does it.
In the US system, the Federal Reserve is trusted to maintain a ledger of how many “money units” major banks have. When one of these entities wants to send money units to another, they request that of the Federal Reserve. The Federal Reserve checks the ledger to make sure the transaction follows the rules.
The users of the system put their faith that the Federal Reserve won't let anyone lie or cheat. It is a ‘trust’ based system.
Each of the major banks then creates their own ledger. Users of these banks trust that the bank won't let anyone lie or cheat and also won’t cheat itself. Hopefully the bank is rich and trustable enough that they decide to be honest instead of cheat.
So, the Federal Reserve keeps a ledger of “money units” the banks have. The banks keep ledgers of “money units” their customers have. It’s a two-tier system that has worked fairly well in the 75 years it has operated in its current form.
Now, how Bitcoin works. Turns out the first issue of creating an electronic ledger system that can’t be modified is surprisingly simple to do using something called public-key-cryptography. Each user publishes a “public key” on an entry in the electronic ledger. Each user secures their own “private key” that allows them and only them to modify their entries on the electronic ledger.
The ledger is constructed such that each user can only reduce their ledger entries. To increase the balance of your entry, someone else must reduce their ledger entry. In this way no one can cheat and increase their own balance.
Bitcoin’s design goal is to remove the need for trusting large entities. By creating a combination of incentives and distributing its electronic ledger over enough people, it attempts to guarantee two rules:
People can’t give themselves more money People can’t “undo” transactions
It uses the following concepts to build its solution. We’ll assume the reader grasps them from here on.
- Cryptographic signatures
- Withdrawal-only design
- Authority by lottery
- Lottery algorithm
- 10-minute authority limit
- Authority peer review
- Price of the lottery
- Chaining of transaction blocks
We solve the first rule using ‘cryptographic signatures’ and ‘withdrawal-only design’. This means users can generate an account that they and only they can withdraw from. In order to obtain a “deposit”, the funds must come from someone else’s withdrawal transaction. If ‘cryptographic signatures’ are secure than we can be assured people are unable to cheat and give themselves more money.
We solve the second rule by assigning an authority by lottery every 10 minutes. The person chosen looks at all waiting transactions and, after ensuring each transaction is valid, publishes a block of such transactions. At this point they become “official” transactions, the ledger is updated to include them, and a new authority is chosen. Each authority is compensated with fees taken from the transactions they choose to include.
At the end of the winning participant’s 10-minute reign, they have an obligation to peer review the decisions that came before. If they observe cheating, a “veto” is issued which reverts one or more prior 10-minute block of transactions -- along with all compensation the corresponding authority received.
Because every authority is at risk of being vetoed and losing their compensation -- they hopefully will not allow any cheating during their watch. The compensation they receive for being honest should outweigh any profits they could make from cheating.
To become an authority, applicants may enter the lottery by purchasing lottery tickets. Each calculation of the ‘lottery algorithm’ is one ticket and participants may purchase as many tickets as they like. One of the lottery tickets is chosen at random and the winner becomes the transaction authority for the upcoming 10 minutes.
While the number of lottery tickets purchased varies, at the time of this writing approximately 30,000,000,000,000,000,000,000 (30 billion trillion) tickets are purchased per lottery. It is believed the more of these lottery tickets purchased, the more secure the system is.
When each 10 minute reign is completed, the reviewer signs a message stating the previous block was correct. Since each block of transactions reviews the one before it, you might say they are tied together in a “chain,” or a “chain of blocks,” or just “blockchain” for short.
In the case of disagreement, the total lottery tickets purchased for all lotteries in the chain of lotteries is selected as the winner. This is often referred to as “consensus.” And because the transaction blocks are chained together every ten minutes, the ledger is considered final in the past -- while being updatable going into the future.
This system is designed to prevent users from undoing transactions post-facto.
If we trust that these solutions to the two rules are solved robustly, then the fundamental requirements for a money are solved. The final ingredient needed for Bitcoin to be a money is for people believe it is. To the surprise of many, it has convinced a substantial group of people in its 10-year-lifespan to believe in it. Will more people be convinced to believe in it? Only time will tell. In the meantime we can at least study Bitcoin so we have a knowledgeable understanding of how it works.