Benign and PBFT-Style Partial Synchrony Protocols
Stub. Partial synchrony as the most-used model in real deployed systems, worked from the simplest cases up: single-shot Paxos and single-shot PBFT; benign-setting protocols borrowing Byzantine design ideas (Benign HotStuff, simplifying Raft with chaining, Log Paxos as a modern multi-Paxos); and the core Byzantine building blocks (provable broadcast, the notion of responsiveness, general design principles) culminating in Practical Byzantine Fault Tolerant consensus (PBFT) itself.
Partial synchrony (an unknown or eventually-stable delay bound) is the model most real-world systems actually assume, since a truly synchronous network is rarely guaranteed in practice. Starts from single-shot Paxos and single-shot PBFT as the two foundational point solutions (crash-fault and Byzantine-fault respectively) — see state-machine-replication-fundamentals for how a single-shot consensus protocol gets extended into a full replicated log. Covers the benign (crash-only) side of the modern literature, which often borrows design ideas originally developed for the harder Byzantine setting: Benign HotStuff, simplifying Raft by adopting a HotStuff-style chaining technique, and Log Paxos as a modern take on multi-Paxos. On the Byzantine side, covers the essential building blocks — provable broadcast (a broadcast primitive whose completion is itself provable to third parties), the notion of responsiveness (progressing as fast as the actual network allows, not waiting for a worst-case timeout), and general protocol design principles — before working through PBFT itself as the classical, practically deployed Byzantine SMR protocol.
Outline (TODO — flesh out each)
- Single-shot Paxos
- Single-shot PBFT
- Benign HotStuff
- Simplifying Raft with chaining
- Log Paxos — a modern multi-Paxos
- Provable broadcast
- What is responsiveness?
- Design principles for partial-synchrony BFT protocols
- Practical Byzantine Fault Tolerant consensus (PBFT)