Practical Byzantine Fault Tolerance
1 min read
Pronunciation
[prak-ti-kuhl byz-an-teen fault tol-er-uhns]
Analogy
PBFT is like a committee that votes in three rounds—proposal, confirmation, and commitment—ensuring a decision stands even if some members lie.
Definition
Key Points Intro
PBFT’s workflow relies on these phases:
Key Points
Pre-prepare: Leader proposes a value to all replicas.
Prepare: Replicas broadcast acceptance of the proposal.
Commit: Replicas confirm others' acceptance and commit.
View change: On timeout, replicas elect a new leader.
Example
A Hyperledger Fabric ordering service uses PBFT to order transactions among 7 nodes, tolerating up to 2 malicious nodes.
Technical Deep Dive
PBFT uses authenticated messaging with MACs or digital signatures. In each view, the primary multicasts a pre-prepare. Replicas reply with prepare messages; upon receiving 2f prepares, they multicast commit. Receiving 2f + 1 commits triggers execution. If messages are delayed, timers expire and replicas enter view-change to select a new primary.
Security Warning
Caveat
O(n²) message complexity limits scalability beyond a few dozen replicas.
Practical Byzantine Fault Tolerance - Related Articles
No related articles for this term.