Skip to main content

Practical Byzantine Fault Tolerance

The paper by Castro and Liskov introduces the Practical Byzantine Fault Tolerance (PBFT) algorithm, a landmark contribution to distributed systems. Addressing t

Abstract

The paper by Castro and Liskov introduces the Practical Byzantine Fault Tolerance (PBFT) algorithm, a landmark contribution to distributed systems. Addressing the limitations of earlier theoretical models, PBFT provides a high-performance solution for state machine replication in asynchronous environments, assuming no more than one-third of nodes are malicious. The protocol utilizes a primary-backup architecture and a three-phase commit process—pre-prepare, prepare, and commit—to ensure safety and liveness. Unlike previous BFT implementations that incurred massive performance penalties, PBFT demonstrated that Byzantine fault tolerance could be achieved with sub-millisecond latency for typical client-server operations. By optimizing communication overhead and handling view changes efficiently, the authors bridged the gap between theoretical distributed systems research and real-world system resilience. Its influence on modern blockchain architecture is immense, as it serves as the foundational reference point for permissioned distributed ledgers and early private blockchain networks seeking to maintain transaction integrity despite node compromise. Authors: Miguel Castro, Barbara Liskov Publication: Academic Paper Publication date: 1999-01-01

Key findings

  • PBFT achieves state machine replication despite Byzantine failures in asynchronous networks.
  • The protocol maintains liveness and safety as long as f nodes are faulty in a system of 3f+1 nodes.
  • Performance optimization is achieved by minimizing communication stages during normal operation.
  • The view change mechanism allows for robust recovery from primary node failure.

Citation

Miguel Castro, Barbara Liskov (1999). Practical Byzantine Fault Tolerance. Academic Paper. http://pmg.csail.mit.edu/papers/osdi99.pdf
Canonical knowledge ID: research:practical-byzantine-fault-tolerance