01 · Start from zero
How do we keep a record of who paid whom - without one organization managing it?
Emma wants to send Liam 30 USD.
When we pay through a bank, the bank checks the payment and updates its record.
But does one organization have to keep and manage that record?
Every payment changes the record
Suppose Emma has 50 USD and sends 30 USD to Liam.
After the payment, the record should show that Emma has 20 USD left and Liam has 30 USD more.
Before the payment
- Emma
- 50 USD
- Liam
- 0 USD
After the payment
- Emma
- 20 USD
- Liam
- 30 USD
That matters because the next time Emma wants to pay, we need to know what she is starting from. If the record is wrong, we cannot know how much she can really spend.
An action like this is called a transaction.
When one organization manages the record, it also updates it
If Emma and Liam use a bank, the bank checks that Emma has enough money and updates the record.
Emma: 50 → 20 Liam: 0 → 30
When everyone relies on the same organization, it is clear which record counts as correct.
That is not automatically a problem. It is simply one way to manage the information.
Without one organization, copies of the record can be kept by many computers around the world
Instead of one organization keeping the record, independent computers in different places can each keep their own copy.
Each computer can keep what it already knows and check payment requests it hears about for itself.
If one computer changes only its own copy, it does not change the others.
Changing one copy does not make the change true.
When someone wants to pay, the request is sent through the network
If Emma wants to send 30 USD to Liam, the payment request is sent to other computers on the network.
Those computers pass the request onward, so more computers hear about it and can check it.
Each computer can look at what is already written in its copy and ask one simple question:
Does Emma have enough money to make this payment?
If yes, the request can pass that check. If not, it is rejected.
A computer that receives information from the network, keeps a copy, and checks it against the rules is called a node.
The problem: not everyone hears about every payment at the same time
Information moves from computer to computer through the network, so it takes time to arrive.
Suppose Emma has 50 USD and, almost at the same time, tries to send 30 USD to Liam and 30 USD to Olivia. She does not have enough money for both payments together.
One computer may hear about the payment to Liam first. On that computer, Liam's payment passes the check, leaving Emma with 20 USD, so Olivia's request is rejected.
Another computer may hear about Olivia first and reach the opposite result.
The same starting record
- Emma
- 50
- Liam
- 0
- Olivia
- 0
Computer 1 heard about Liam first
- Emma
- 50
- Liam
- 0
- Olivia
- 0
- Emma → Liam 30Passes the check
- Emma → Olivia 30Rejected - only 20 remains
Local result
- Emma
- 20
- Liam
- 30
- Olivia
- 0
Computer 2 heard about Olivia first
- Emma
- 50
- Liam
- 0
- Olivia
- 0
- Emma → Olivia 30Passes the check
- Emma → Liam 30Rejected - only 20 remains
Local result
- Emma
- 20
- Liam
- 0
- Olivia
- 30
Same starting record. Same check. Different arrival order. Different result.
Optional depth
A real bank obviously does not keep all of its information on one physical computer. It uses many systems, servers and backups.
When we say “one organization manages the record,” we mean that one organization has the authority to decide which record is the valid one.
And in a decentralized network, many computers do not simply vote on truth by headcount. One person can run many computers or create many identities.
So we need something more than “the majority said so.”