It’s taken a while, but we have now covered all the basics of how Bitcoin works. There’s a lot here. If you’re still confused then below there is a slightly extended version of the previous technical recap that gives a summary of what we’ve covered.
- Bitcoin is a form of electronic money.
- We have one big electronic book, the ledger, that records who owns every coin in our money, and allows the owner to be changed via signed payments. This is the only place that any money is recorded, and the only way to make payments.
- Copies of the ledger are stored on a distributed network of computers on the internet. Every computer in the distributed network has a copy of the ledger. The copies are synchronized using standard peer-to-peer networking technology, the same as is used for file sharing.
- We incentivize independent people to add computers to the network by paying them for updating the ledger with blocks of new payments. These blocks have to be valid according to the rules, and the other payment processors will check this. We pay the payment processors in newly printed electronic money for adding these blocks.
- We don’t try to resolve conflicting updates, or even to resolve different sets of updates created simultaneously by different payment processors. We just allow multiple versions of the ledger to be created. We let the payment processors work on whichever version they have.
- Eventually one version will get bigger than all the others and this is considered the current valid ledger. ‘Bigger’ here means that more blocks of payments have been added to it.
- Payment processors only get paid if they have added blocks to the final valid ledger. This incentivizes them to identify this ledger as quickly as possible, and discard orphans.
- The system as described here might be chaotic, with potentially many valid versions of the ledger available at any given time. We need a final ingredient to make it work. This is mining.
- Mining gets computers to solve puzzles generated from a block of payments before that block can be added to the ledger. This is solely to slow processing down and thus alleviate the chaos referred to in the previous point.