Byzantine Fault Tolerance Basics Lab (Interactive)
Vote under liars versus crashers and watch the quorum math jump from 2f+1 to 3f+1. Compare CFT and BFT quorums on one cluster: crash or byzantine nodes, intersecting vote sets, message counts, and the rounds where honest nodes cannot agree.
Quorum Arithmetic: Traitors vs Crashers
Byzantine nodes lie, equivocate, and tell different peers different things. With the same cluster size, BFT tolerates a third of what CFT does — because you must cross-check answers, not just count them.
- traitor 0v=1
- honest 1v=1
- honest 2v=1
- honest 3v=1
- Max tolerated f
- 1 ok
- Decision quorum
- >2 votes
- Round outcome
- consensus
- Gossip msgs / round
- 24
Within budget: any two agreeing quorums share ≥1 honest node (3 honest here), so the decision is safe. PBFT-style protocols still pay O(N²) messages per round — BFT is why blockchains cap validator counts, and why internal microservice meshes stay CFT.
A crashed node just stops talking; a byzantine node can vote both ways and be believed. That is the whole difference between 2f+1 and 3f+1 — and why consensus inside one trusted datacenter is Raft, while consensus across untrusted parties is BFT.
How It Works Under the Hood
A crashed node is silent; a byzantine node sends contradictory votes to different peers and must be cross-checked. That difference is why crash-tolerant consensus needs N≥2f+1 with majority quorums while Byzantine fault tolerance demands N≥3f+1 with overlapping 2/3 quorums: any two agreeing majorities in a BFT setting must share at least one honest member to prevent forked decisions. This lab simulates an honest-majority vote with traitors equivocating between yes and no, showing stalled rounds, wrong decisions when f exceeds budget, and the O(N²) all-to-all cost that keeps BFT inside blockchains and out of your datacenter.
Core Architectural Principles
- Quorum thresholds computed per model: more-than-half versus more-than-two-thirds.
- Equivocating traitors can form a second quorum once honest overlap disappears.
- Message complexity contrast between CFT echo-light rounds and BFT all-to-all validation.
Explain the 3f+1 arithmetic concretely: with f traitors you need 2f honest voters to outvote them plus the traitors’ own votes to reach 2/3, hence 3f+1. Then scope the claim: intra-company systems trust nodes, so Raft/CFT wins; BFT appears only when participants are mutually untrusted.
BFT tolerates malicious insiders but pays triple the nodes and quadratic messages for the privilege.