Crypto OS
Non-Technical Crypto OSStage 1 · Why Crypto Emerged

Chapter 3 · What If We Do Not Trust the Bookkeeper?

How can people who do not trust one another maintain the same state?

Capabilities practiced
Mental ModelProtocol Literacy
Hands on
Have three people simulate bookkeeping with pen and paper. One secretly alters the ledger; see how the others discover it.
AI Lab
Have AI design a system that needs no trusted bookkeeper. Attack it with double-spending, Sybil attacks, and collusion.

A Real-World Problem

A badminton group of about twenty people meets weekly. Members take turns paying for courts and shuttlecocks, and everyone reimburses them afterward.

Wang initially volunteers to keep the accounts in the group announcement. Everyone is happy. Three months later, the first disagreement appears: Wang says you owe 180, but after checking your transfers, you think you owe 120.

Nobody is lying. Wang may have missed an entry, or you may have confused it with another transfer. The group argues for two days, then compromises at 150.

The incident is minor. But scale it up by changing three variables, and its nature changes:

Twenty people become two hundred. Nobody can reconcile from memory now; everyone must trust the announcement's numbers.

Hundreds in payments become hundreds of thousands. Omitting a payment now brings enough benefit to tempt someone.

You and Wang become strangers. You no longer even have the judgment that he probably would not cheat you.

The question emerges: without a bookkeeper everyone accepts, how can a group maintain one shared record?

Notice the shape of the question. Finding a more honest person or buying better software does not answer it. Chapter 2 explained how real-world ledgers gain credibility through licenses, audits, regulation, and courts. This chapter asks whether another method exists when those constraints are absent.

Thought Experiment

Move the village into a room.

Ten people each hold a notebook. There is no bookkeeper or village chief. One rule applies: to transfer money, stand up and shout—for example, “I send five shells to number 3.” Everyone who hears it records the transfer in their own notebook.

In theory, all ten notebooks should stay identical. In practice, problems appear one after another.

First problem: someone does not hear clearly. Number 4 sneezes and misses a transfer. Half an hour later, people discover a mismatch but cannot say whose book is wrong.

This is manageable: stop periodically, reconcile, and correct minority versions to match the majority.

Second problem: impersonation. Number 7 lowers their voice and shouts, “I am number 3; I send fifty shells to number 7.” Everyone records it. Number 3 returns to discover fifty missing.

This too can be handled: each person posts a secret mark on the wall that only they can reproduce and must show it when announcing transfers. Everyone hears the announcement, but everyone can immediately verify whether it really came from the claimed person.

Third problem: conflicting announcements at opposite ends of the room.

Number 3 has only five shells. They go left and tell A, B, and C, “I send five to A.” Simultaneously, an accomplice on the right tells D, E, and F, “I send five to F.”

Both announcements carry number 3's genuine mark, and each is completely valid in isolation. The three notebooks on the left assign the five to A; the three on the right assign them to F.

Reconciliation now reveals two plausible versions, not a recording error. Majority rule also fails because each side has the same number of people.

Fourth problem: head counts can be forged.

Someone suggests majority voting. Number 9 immediately realizes they can wear different hats and impersonate twenty people. Nobody can verify whether a new arrival is an independent person; they only see another hat.

Majority voting assumes one person, one vote, but this room cannot establish that each person has only one identity.

So far, only the first two problems are solved. Stop and think: what would you do about the third and fourth?

Your Decision

Three different notebooks now exist. The group must choose a rule for which version counts.

What Happens

The four rules appear to debate different things but address the same problems. Maintaining a shared record among mutually distrustful people has four layers:

LayerQuestion it answersWhat failure means
IdentityWho made this announcement?Anyone can impersonate anyone
ValidityDoes it obey the rules?Someone can create balances from nothing
OrderingIn what order do announcements take effect?The same money can be spent twice
FinalityWhen can the record no longer change?Received money can disappear at any time

The first two layers are verification: each person can complete them independently without asking anyone's opinion. Checking marks and sufficient balances in your own notebook yields the same conclusion as everyone else's.

The last two are different. Ordering and finality have no objective answer, only shared agreement. Neither of number 3's announcements is physically more “first”; the room must choose one.

Pause here, because this is among the course's most misunderstood points:

The hard part of maintaining a shared record among people who distrust one another is ordering, not storing data.

An ordinary database can handle tens of thousands of writes per second, faster and more reliably. Its efficiency rests on an assumption: there is one writer, and that writer does not lie. Ordering is straightforward because one party determines it.

Remove that assumption, and throughput is no longer the main issue. A database processing a million writes per second still cannot choose between number 3's conflicting statements. This is a question of agreement, not performance.

So a system with an administrator everyone accepts needs none of this chapter's mechanisms. Use a database; it is faster and cheaper. Remember this when judging why a project needs a blockchain.

Build a Model

Turn the four layers into a chain. Every transaction moves from left to right:

  1. Identity: who said it?
  2. Validity: does it follow the rules?
  3. Ordering: what comes first?
  4. Finality: this is settled
Each person can check the first two layers independently. The entire network must agree on the last two. Blockchain’s difficulty lies in the rightmost boxes.

The second model is a measuring scale. Use it on any supposedly decentralized system: whom are you still trusting?

LevelWhat you trustHow it can fail
One personThe bookkeeper's character and competenceTampering, disappearance, or error
One institutionLicensing, auditing, regulation, and courtsBankruptcy, regulatory failure, or unavailable cross-border recourse
A groupThey will not collude or all be compromisedCollusion, collective coercion, or a manipulated roster
Rules plus verificationRules fixed in code that you can inspect yourselfFlawed rules, or never actually verifying them

Two marks on this scale are easily overlooked.

First, the final level does not mean no trust. It replaces trust in someone's goodwill with trust in rules you can inspect. Trust changes form rather than disappearing. This is why the course repeatedly asks you to verify personally instead of memorizing conclusions.

Second, moving right is not always better. It reduces efficiency, raises costs, and removes remedies after mistakes. The badminton group does not need the final level. A bookkeeper everyone trusts is the best solution for that setting.

The last model concerns how many malicious participants a system tolerates. There is a major distinction:

  • If participants only disconnect or crash, without lying, fault tolerance requirements are more relaxed.
  • If participants can lie deliberately and send different messages to different people, the threshold becomes much stricter. Such designs typically require malicious participants to control less than one-third or one-half, depending on the design, for all honest parties eventually to see the same record.

This chapter concerns the second category. A system that handles crashes does not necessarily handle betrayal. The engineering difficulty differs by an order of magnitude.

What It Is Called

Now name the phenomena.

StateState

The complete shared record at a particular moment: who has how much, and who owns what.

All ten notebooks should contain the same state. A transaction moves it from one version to the next.

VerificationVerification

Independently checking whether something holds without relying on anyone's claims.

Checking a mark or a balance is verification. Its result does not depend on whom you trust, which fundamentally distinguishes it from hearsay.

Much of a chain's value comes from anyone being able to run the checks themselves without asking an authority.

TrustTrust

Believing a person or institution will behave as expected where you cannot verify independently.

Notice the definition's key point: what you verify does not require trust; what you have not verified does. Many people believe they use a trustless system but merely transfer trust to a webpage, dashboard, or tweet.

ConsensusConsensus

The mechanism that lets mutually distrustful participants agree on ordering and finality.

It does not discover truth: there is no intrinsic truth distinguishing number 3's two announcements. It makes all honest participants eventually choose the same one.

Byzantine FaultByzantine Fault

A participant deliberately lies, potentially sending different messages to different people, rather than merely failing or disconnecting.

The third problem is the standard example. Systems tolerating it are Byzantine fault tolerant; public chains belong to this category.

The name comes from a 1982 paper's metaphor: armies surrounding a city communicate through messengers, but traitors may issue contradictory orders. How can loyal generals coordinate?

Sybil AttackSybil Attack

One person fabricates many identities to manipulate rules based on head counts or votes.

The fourth problem is an example. This is a fundamental problem for every open network: if anyone can join freely, anyone can join repeatedly.

The solution requires each identity to correspond to something that cannot be copied from nothing. Chapter 4 uses computation; later chapters use staked assets.

FinalityFinality

The point at which a transaction will no longer be overturned.

In some designs, it is a strengthening probability: later is safer, but never absolutely risk-free. In others, it is a definite moment: a round explicitly locks the record.

This distinction is central to understanding different chains. Chapter 6 unpacks it fully.

Bring it together:

Consensus is a set of rules for ordering and finality without an administrator, not merely a database technology.

Begin evaluating any chain by asking whether the task could still be done without it. If so, it does not need a chain.

Hands-on

Hands onCreate a ledger disagreement with three people and three sheets of paperThree people, three sheets, one penFree; no real assets

No computer is needed. Find two friends and spend twenty minutes turning “I understand” into firsthand experience.

Prepare. Everyone copies the same starting state:

A:10
B:10
C:10

Agree that a transfer must be spoken aloud, and the other two people update their sheets independently. Speak only; do not inspect anyone else's paper.

Run five ordinary rounds. Transfer arbitrary amounts, such as “A sends three to B” or “C sends five to A.” Then stop and compare all sheets.

They will probably match. If not, determine who made an error and in which round. Notice how you established that; the process itself is part of the answer.

Introduce a cheater. Designate C, without telling the others the method. After a round, C secretly increases their balance by five.

Run five more rounds and compare again.

Answer: how do A and B know C's sheet is wrong? By comparing totals, or reconstructing history? If you compare only final numbers, can you establish that C changed theirs rather than A and B both making a mistake?

Run the crucial experiment: B tells A and C different things.

B has four shells. First B tells A, “I send four to A,” then tells C, “I send four to C.” Both statements come from B and neither exceeds the balance.

Now A's and C's sheets disagree, though neither made a recording mistake.

Discuss for five minutes: how do you decide which statement counts? Every proposal must first answer who has the authority to announce the order.

Record the solution you settle on and its weaknesses.

Keep the sheet. Chapter 4 presents the answer offered in 2008, letting you compare where your solution differs.

AI Lab

AI LabAsk AI to design accounting without a trusted bookkeeper, then break itLevel 2 · AI Copilot

Use two steps. The second is the important one.

First, ask for a design:

Design an accounting system where participants can freely join and leave,
do not trust one another, and may lie or send different messages to different people.
No role may require everyone's trust.

Explain four things:
1. How to establish that a transfer came from its claimed sender
2. How to determine whether a transfer is valid
3. Which rule chooses between conflicting transfers
4. When a transfer can no longer be overturned

Do not use the words “blockchain” or “consensus algorithm.” Describe the mechanisms themselves.

Second, attack it one scenario at a time. Paste the design back unchanged and ask about one scenario per turn:

Scenario 1 (double spending): Someone with five units simultaneously sends a five-unit transfer
to each half of the network. Both have valid signatures.
Which takes effect in your design? Who decides, and within what time?

Scenario 2 (Sybil): Someone creates ten thousand identities and joins the network.
Which part of your design fails? What does creating one identity cost?

Scenario 3 (collusion): Some participants secretly coordinate and lie consistently to others.
What maximum proportion can your design tolerate? What happens above it?
How is that proportion calculated?

Most models produce a complete-looking design first, then fail scenario one or two. The most common flaw is a quietly introduced central role: a node that orders transactions, a timestamp service, or a trusted bootstrap node.

Find that role and you find where the design's real trust lies.

Record all three attacks and responses. This becomes one of the strongest pages in your stage artifact: evidence that you understand what consensus must prevent, not merely its definition.

Verify these points yourself after using AI

  • For double spending, check whether it actually chooses between two valid statements rather than merely saying the network rejects invalid transactions
  • For Sybil attacks, check whether majority nodes or votes depend on identities with no specified cost; costless identity counts provide no security
  • For collusion, check whether tolerance thresholds such as one-third or one-half are derived or copied, and which fault model they assume
  • Look for a secretly introduced central role: coordinator, sequencer, timestamp service, or trusted bootstrap node
  • Check whether finality is a strengthening probability or a definite locking round, and whether the design states which
  • Ask for the basis of every numeric threshold; mark unsupported ones unverified

Real-World Case

The paper that modeled lying1982

Armies surround a city and communicate only through messengers. They must act together—attack together or retreat together. Some generals may be traitors sending opposite orders to different people.

The paper's contribution was turning deliberately dishonest participants into a rigorously discussable mathematical problem and specifying proportion conditions under which honest participants can agree.

Before it, distributed systems mainly considered broken machines. After it, a machine deceiving you became a distinct assumption. Every public chain's security argument rests on this assumption today.

Digital cash dependent on a company1990sMultiple countries

Several digital cash attempts appeared that decade. Some were technically sophisticated and had solved anonymous payments and anti-counterfeiting.

They shared a structure: a central institution had to issue and clear the money, preventing the same money from being spent twice.

When the company stopped operating, the system disappeared and users' balances became worthless. The failure followed from the structure: these systems solved verification but delegated ordering to a company.

This history is necessary for understanding the next chapter: Bitcoin addresses precisely the layer those designs avoided.

When the rules were rewritten2016

An Ethereum contract holding substantial funds was exploited to withdraw assets. After intense debate, the community changed client software to restore pre-attack state and recover the funds.

Some participants rejected the change and continued running the original rules. The chain split into two, both continuing today.

The model locates the lesson clearly: immutability is not a physical law; it rests on enough people continuing to run the same rules. Enough people can decide to change them, while dissenters can continue with the old ones.

This is both a decentralized system's vulnerability and its essence. Chapter 24 returns to another side of the incident.

Change One Variable

What ifEveryone is honest and only occasionally disconnects

The threshold becomes much lower. Now you handle missed messages and absent listeners rather than conflicting lies.

These systems are more mature and faster. Most internet companies' database clusters use this model.

This explains why a bare claim that blockchains are slower than databases misses the point. One assumes participants only fail; the other assumes participants may deceive you.

What ifOnly four people participate, all known to one another with real-world identities

Sybil attacks nearly disappear: an extra person is immediately noticed. Majority voting works again and can be much faster.

The cost is that collusion or shared external pressure on those four can defeat the system. Also, deciding who may enter the room becomes a power someone must hold.

This is a consortium chain's structure. It suits many business settings, but its trade-off must be stated honestly: knowing one another buys efficiency, using the assumption public chains deliberately avoid.

What ifEach announcement requires burning a candle in front of everyone

This looks clumsy but directly targets Sybil attacks: candles are actually consumed, and twenty hats cannot create twenty candles.

Three side effects follow. Ordinary users must burn candles too, shifting costs to everyone. Those with more candles gain more influence: wealth and influence become linked. Candles can also be rented: attackers need temporary access, not ownership of the resource.

All three effects appear unchanged in the next chapter, with electricity replacing candles.

What ifParticipants may wait before treating a transfer as settled

This is the most counterintuitive and important of the four variables.

Earlier designs sought immediate decisions. Allowing a wait simplifies things: conflicting versions temporarily coexist, and as later records accumulate, the abandoned version becomes less likely to return.

Time buys certainty. You need not give a perfectly correct answer at second zero; you need the wrong answer to become increasingly expensive to sustain.

The cost is that settlement changes from a yes-or-no question into a curve. Chapter 6 explains the curve and when waiting only partway is acceptable.

Takeaway Questions

Choose three of the Eighteen Questions for this chapter.

2
Why do we need blockchains?

This chapter directly answers the question, and the answer cuts both ways.

Use one criterion: is there an administrator every participant is willing to accept? If yes, a database is faster and cheaper. Consensus becomes relevant only when none exists, because parties are cross-border, competitors, or strangers.

Apply this test to every project. Most “blockchain + industry” proposals fail it, because their setting already has an accepted central party.

5
Who is paying?

Consensus is not free. Burned candles, node electricity and bandwidth, and the time spent waiting are real costs.

Ask who pays: user fees, protocol issuance, or early-investor subsidies? These produce three very different sustainability profiles. Chapter 7 calculates them.

11
Can the product still run if its token price goes to zero?

This question has a concrete meaning here.

Many designs reward consensus maintainers with tokens and price security costs in tokens. A sharp token-price decline lowers attack costs, while attack proceeds may not decline with it.

For a public chain, surviving a token going to zero is therefore a security question, not merely a financial one. Real attacks on small chains often trace back here; chapter 4 provides examples.

Chapter Check

Key idea

The problem blockchains solve is maintaining state without an administrator, not database speed.

Finished this chapter’s lab? Mark it completeView all progress

On this page