🧠 BFT Algorithms: PBFT, Tendermint & HotStuff

Compare different approaches to Byzantine fault tolerance

āš™ļø BFT Consensus Algorithms

Several algorithms have been developed to solve the Byzantine Generals Problem. Each makes different tradeoffs between performance, complexity, and fault tolerance guarantees.

Key Requirements for BFT

āœ…

Agreement

All honest nodes must agree on the same value

šŸŽÆ

Validity

If all honest nodes propose the same value, that value is chosen

ā¹ļø

Termination

All honest nodes eventually decide on a value

šŸ›”ļø

Fault Tolerance

System works correctly with up to f Byzantine nodes where n ≄ 3f + 1

šŸ” Interactive: Algorithm Comparison

Compare different BFT consensus algorithms and their characteristics:

šŸ›ļø

PBFT

Practical Byzantine Fault Tolerance

Introduced: 1999

The first practical BFT algorithm that works in asynchronous networks. Uses a three-phase protocol: pre-prepare, prepare, commit.

Fault Tolerance

< 1/3 Byzantine

Throughput

1,000-3,500 TPS

Finality

Instant

āœ“ Advantages
  • •Proven algorithm
  • •Fast finality
  • •Well-understood security
āœ— Tradeoffs
  • •O(n²) message complexity
  • •Complex view changes
  • •Scalability limits

Used By:

Hyperledger FabricZilliqaNEO

BFT vs CFT

AspectBFT (Byzantine)CFT (Crash)
Fault TypeArbitrary/MaliciousStop-fail only
Nodes Requiredn ≄ 3f + 1n ≄ 2f + 1
CommunicationO(n²) or O(n)O(n)
ComplexityHighLow
Use CaseAdversarial networksTrusted datacenters
šŸ’”

Evolution of BFT

BFT consensus has evolved significantly since the original Byzantine Generals Problem paper in 1982:

  • 1982: Byzantine Generals Problem formalized by Lamport, Shostak, and Pease
  • 1999: PBFT makes BFT practical for the first time
  • 2014: Tendermint simplifies BFT for blockchain applications
  • 2018: HotStuff achieves linear communication complexity
  • 2020s: New algorithms focus on scalability and threshold cryptography