0Pricing
Cryptology Academy · Lesson

BFT Protocols: PBFT and Tendermint

Study Byzantine Fault Tolerant consensus and how Tendermint's cryptographic voting achieves finality.

Byzantine Fault Tolerance Origins

The Byzantine Generals Problem, formulated by Lamport, Shostak, and Pease in 1982, asks: can a distributed system reach consensus when some participants send contradictory messages? The problem is named after Byzantine generals who must coordinate an attack but may include traitors sending conflicting orders. A system is Byzantine Fault Tolerant (BFT) if it reaches correct consensus despite up to f malicious nodes among 3f+1 total. BFT is the gold standard for blockchain consensus requiring safety under adversarial conditions.

PBFT: Practical Byzantine Fault Tolerance

PBFT (Castro and Liskov, 1999) was the first practical BFT protocol, demonstrating that BFT could operate efficiently in real systems. PBFT operates in views (terms), each with a designated primary (leader). Normal operation runs three phases: pre-prepare (primary broadcasts client request + sequence number), prepare (replicas broadcast agreement with sequence), and commit (replicas broadcast commit confirmation). A request is executed once a replica collects 2f+1 matching commit messages. PBFT provides safety and liveness assuming fewer than 1/3 of replicas are Byzantine.

All lessons in this course

  1. Proof-of-Stake Cryptographic Mechanisms
  2. BFT Protocols: PBFT and Tendermint
  3. Verifiable Random Functions in Consensus
  4. BLS Signatures and Aggregate Signature Schemes
← Back to Cryptology Academy