Byzantine Fault Tolerance (BFT) Basics
Understand adversarial distributed failure: Crash faults vs Byzantine (malicious/arbitrary) faults, PBFT, and blockchain consensus foundations.
01.1. The Byzantine Generals Problem (Lamport, Shostak, Pease, 1982)
In classical distributed systems (Raft, Paxos), nodes operate under the Crash-Fault Model (CFT): nodes either follow the protocol faithfully or crash (silent stop).
In 1982, Leslie Lamport and colleagues introduced the Byzantine Generals Problem, which models arbitrary, adversarial failures:
- Several divisions of the Byzantine army are encamped outside an enemy city. Each division is commanded by a general.
- The generals can communicate only by messenger. They must decide on a common battle plan: ATTACK or RETREAT.
- However, some of the generals (including potentially the commanding general) may be traitors attempting to prevent consensus by sending conflicting messages (e.g., telling General 1 to attack, and General 2 to retreat).
A system is Byzantine Fault Tolerant (BFT) if honest nodes can still reach unanimous agreement on the correct plan despite an arbitrary fraction of traitors actively lying, forging messages, or behaving maliciously.
Crash Faults vs Byzantine Faults ⚔️
Crash Faults vs Byzantine Faults ⚔️
Tolerating silent crashes ($2F + 1$) vs arbitrary malicious lies ($3F + 1$).
Unlock Topic #92: Byzantine Fault Tolerance (BFT) Basics
You are viewing a preview. The full in-depth engineering deep dive, interactive simulators, architecture flowcharts, and self-assessment quizzes for this topic are available with Pro or Lifetime Access.
Failure modes, high-throughput bottlenecks, and real FAANG implementation decisions.
Interactive system topology diagrams, live parameter simulators, and downloadable SVG charts.
Staff-level multiple-choice quiz questions with instant feedback and answer explanations.
Firebase Google authentication automatically syncs your completed topics and quiz scores.
How clear and staff-actionable was this system breakdown?