Imagine a small committee of servers that must all agree on a single answer — say, whether to commit a database transaction. Simple majority vote works as long as everyone is honest. But what if one server is compromised, sending contradictory messages to different peers? A simple majority breaks down fast.
This is the Byzantine Generals Problem: a set of nodes must reach a common decision even when some of them behave arbitrarily — lying, staying silent, or colluding. Named after the classic puzzle of generals who must coordinate an attack while some may be traitors, it was formalized by Lamport, Shostak and Pease in 1982.
For decades the problem was considered too expensive for real systems. Then in 1999 Miguel Castro and Barbara Liskov published Practical Byzantine Fault Tolerance (PBFT) — a protocol that achieves consensus in messages per request, efficient enough to run under real workloads. Their key insight: you need at least replicas to tolerate Byzantine (arbitrarily faulty) nodes, and three carefully designed phases are enough to guarantee both safety (all honest nodes agree) and liveness (the system keeps making progress).
Comments
Loading comments...