← Lessons

quiz vs the machine

Platinum1830

Concurrency

Byzantine Paxos

Extending Paxos to tolerate nodes that lie, not just nodes that crash.

6 min read · advanced · beat Platinum to climb

Beyond crash faults

Classic Paxos assumes faulty nodes simply stop. Byzantine faults are worse: a node may send conflicting messages, forge values, or behave arbitrarily, perhaps because it is compromised. Byzantine Paxos strengthens the protocol to agree correctly despite such adversarial participants.

More replicas, more confirmation

To tolerate f Byzantine faults, the system needs at least 3f plus 1 replicas, not 2f plus 1. The reason is that a single majority can include liars, so honest nodes must cross check each other.

  • Acceptors do not trust a proposer blindly; they exchange messages to confirm what others heard.
  • A value is chosen only when enough independent acceptors, more than a simple majority, certify the same proposal.
  • Cryptographic signatures or message authentication codes prevent a faulty node from forging another node's vote.

Why the bound grows

With 3f plus 1 nodes, any two quorums of size 2f plus 1 overlap in at least f plus 1 nodes, guaranteeing at least one honest node in the intersection. That honest witness ties decisions together so liars cannot create two different chosen values.

Key idea

Byzantine Paxos tolerates arbitrary faults by using 3f plus 1 replicas, mutual cross checking, and authentication so liars cannot force two different decisions.

Check yourself

Answer to earn rating on the learn ladder.

1. How many replicas tolerate f Byzantine faults?

2. Why must acceptors cross check each other under Byzantine faults?