How can computers agree when some of them might be lying?
A NASA-funded project in the 1970s needed computers to agree even if some were secretly faulty, so researchers dressed the problem up as treacherous generals surrounding a city.
▶ Start the storyWith enough honest voices, and better still with signatures. Researchers proved that when nobody can prove who sent a message, a group can reach reliable agreement only if it has more than three times as many members as liars: at least 3n+1 participants to survive n of them. If messages carry digital signatures, 3n is enough. The liar here is what computer scientists call a Byzantine fault: a component that shows different symptoms to different observers, so the others can't even be sure whether it has failed.
The question came up in 1978 in SIFT, a NASA-sponsored project at SRI International built on the idea of several general-purpose computers messaging each other to reach a consensus, even if some of them were faulty. To make it easier to understand, Leslie Lamport dressed it up as an allegory of generals surrounding a city. They must decide as a group whether to attack or retreat, and all must agree, since a half-hearted attack by only some of them would be worse than either a coordinated attack or a coordinated retreat. The trouble is that a traitor can lie selectively: with four generals favoring attack and four favoring retreat, a ninth, disloyal general can send a retreat vote to one camp and an attack vote to the other, splitting the army.
Step 1: Generals surround a city
They must all agree: attack together, or retreat together
Step 2: A traitor lies selectively
Sends 'attack' to some generals and 'retreat' to others
Step 3: Disagreement without enough honest votes
A half-hearted attack is worse than either unanimous choice
Robert Shostak, who first formalized the problem, showed that at least 3n+1 participants were needed, and his colleague Marshall Pease proved that figure was both necessary and sufficient for any number of faulty participants. Leslie Lamport later showed that with digital signatures, 3n suffice: being able to prove who really sent a message lets a system get by with fewer participants.
The allegory's name has its own small story: the generals were originally cast as commanders of the Albanian army, before being renamed "Byzantine" at a colleague's suggestion, to head off any risk of giving offense. The work earned its authors the 2005 Edsger W. Dijkstra Prize.
Quiz me
0/3
Recap
Without signatures, reliable agreement needs more than three times as many participants in total as there are faulty ones.
Surprising fact · Digital signatures lower the total number of participants needed to tolerate n liars from 3n+1 to 3n, turning cryptography directly into fault tolerance.
Sources (1)
No source, no claim. Every fact in this lesson (16 claims) cites at least one of these.