Back to the start
Five ideas. Start wherever you like.

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
A temporary local view, based on the information this computer has received so far.

Computer 1 heard about Liam first

Starting record
Emma
50
Liam
0
Olivia
0
  1. Emma → Liam 30Passes the check
  2. Emma → Olivia 30Rejected - only 20 remains

Local result

Emma
20
Liam
30
Olivia
0

Computer 2 heard about Olivia first

Starting record
Emma
50
Liam
0
Olivia
0
  1. Emma → Olivia 30Passes the check
  2. Emma → Liam 30Rejected - only 20 remains

Local result

Emma
20
Liam
0
Olivia
30

Same starting record. Same check. Different arrival order. Different result.

So how can they all agree on the same record?

Many computers can keep copies of the same record and check payments for themselves.

But if they do not hear about every payment at exactly the same moment, they can temporarily reach different results.

So how can they agree on which payments are recorded - and in what order - without one organization deciding for everyone?

Continue: Bitcoin
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.”