Practical Byzantine Fault Tolerance (PBFT)

PBFT, by Castro and Liskov (1999), is a Byzantine fault-tolerant consensus protocol that tolerates up to f Byzantine failures with 3f+1 replicas. PBFT influenced subsequent BFT protocols including Tendermint and HotStuff.

API entry from apis.yml

apis.yml Raw ↑
aid: consensus:pbft
name: Practical Byzantine Fault Tolerance (PBFT)
description: PBFT, by Castro and Liskov (1999), is a Byzantine fault-tolerant consensus protocol that
  tolerates up to f Byzantine failures with 3f+1 replicas. PBFT influenced subsequent BFT protocols including
  Tendermint and HotStuff.
humanURL: http://pmg.csail.mit.edu/papers/osdi99.pdf
baseURL: http://pmg.csail.mit.edu
tags:
- BFT
- PBFT
properties:
- type: Specification
  url: http://pmg.csail.mit.edu/papers/osdi99.pdf
- type: Reference
  url: https://en.wikipedia.org/wiki/Byzantine_fault
x-features:
- Tolerates Byzantine (arbitrary) failures
- Three-phase commit protocol (pre-prepare, prepare, commit)
- Foundation for many blockchain BFT consensus algorithms
x-useCases:
- Permissioned blockchains
- Hardened configuration systems
- Research baseline for new BFT protocols