All posts

Protocol· 3 min read

The Byzantine Generals Problem: From Consensus Theory to Blockchain Foundations

An undergraduate‑level walk‑through of the Byzantine Generals Problem, the 3f+1 requirement for oral messages, and why this classic result underpins modern blockchain consensus.

By Blockchainist Desk

Daily deskDrafted with AI from the sources listed at the end, then checked and approved by Tran Tuan Dung. Each [n] points to a source; read the originals for the full story.

Problem Statement

The Byzantine Generals Problem asks how a set of distributed parties can agree on a single decision when some of them may behave arbitrarily — sending conflicting information, lying, or simply failing to respond. Lamport, Shostak, and Pease formalised this as a group of generals who must decide whether to attack or retreat, while up to f of them may be traitors [1]. The loyal generals must all decide on the same action, and if the commander is loyal the decision must match his order. This captures the essence of fault‑tolerant consensus in any system where messages can be corrupted.

Oral Messages and the 3f+1 Bound

The original paper distinguishes two communication models. With oral messages (unauthenticated, point‑to‑point messages that can be forged), the authors prove that consensus is possible only when the total number of generals n satisfies n ≥ 3f + 1 [1]. The intuition is that each loyal general must be able to outvote the traitors in every possible coalition. If n ≤ 3f, a set of f traitors can collude to present two different views to two disjoint groups of loyal generals, making agreement impossible. The proof proceeds by induction on the number of rounds of message exchange, showing that with fewer than 3f+1 nodes a traitor can always create a "split‑brain" scenario.

A Small Example

Consider f = 1 (one possible traitor) and n = 4 generals: a commander C and three lieutenants L1, L2, L3. The protocol runs in two rounds:

  1. Round 1 – C sends his order (attack or retreat) to each lieutenant.
  2. Round 2 – Each lieutenant forwards the order he received from C to the other two lieutenants.

Each lieutenant now has three values: the direct order from C and the two relayed orders. He takes the majority value as his decision. If C is loyal, all loyal lieutenants receive the same order in round 1, and the majority in round 2 will be that order. If C is the traitor, he may send different orders to different lieutenants, but because there are three loyal lieutenants, any two of them will agree on the majority of the three values they collect, guaranteeing consensus among the loyal ones.

If we tried the same with n = 3 and f = 1, the single loyal lieutenant would receive two conflicting reports (one from C, one from the other lieutenant) and could not determine the true order — consensus fails.

Guarantees and Limits

The theorem guarantees safety (all loyal generals decide the same value) and liveness (a decision is eventually reached) under the synchronous, oral‑message model when n ≥ 3f+1. The limits are equally important:

  • Synchrony assumption – The proof requires known bounds on message delivery time. In asynchronous networks the problem becomes unsolvable (the FLP result).
  • Authentication – If messages are signed (written messages), the bound drops to n ≥ 2f+1 because forgery is prevented.
  • Scalability – The protocol’s message complexity grows exponentially with the number of rounds, making it impractical for large n without further optimisations.

Relevance to Blockchains

Blockchain consensus protocols inherit the Byzantine fault‑tolerance (BFT) model. Classical BFT algorithms such as PBFT directly implement the 3f+1 rule for a permissioned set of validators [1]. In permissionless chains (e.g., Bitcoin, Ethereum) the assumption shifts to probabilistic finality and economic incentives, but the underlying requirement that a majority of honest power outweighs any colluding minority mirrors the 3f+1 insight: an attacker must control more than one‑third of the voting power to break safety. Modern proof‑of‑stake designs often explicitly target a validator set size that satisfies the 3f+1 threshold for their BFT finality gadget (e.g., Tendermint, Casper FFG).

Conclusion

The Byzantine Generals Problem crystallises the difficulty of reaching agreement in the presence of arbitrary faults. The 3f+1 bound for oral messages is a foundational result that informs both theoretical research and the engineering of today’s blockchain consensus layers. Understanding its proof and limitations equips students and researchers to evaluate new protocols critically.

Sources

  1. The Byzantine Generals Problem, L. Lamport, R. Shostak, M. Pease, ACM TOPLAS, 1982