Agreement protocols#

Byzantine generals, randomized and partially synchronous consensus, and PBFT.

The Byzantine generals problem (Lamport, Shostak and Pease 1982)

The Byzantine generals problem (Lamport, Shostak and Pease 1982)

Randomized consensus: agreeing by flipping coins (Ben-Or 1983)

Randomized consensus: agreeing by flipping coins (Ben-Or 1983)

FLP: no deterministic consensus in an asynchronous network (1985)

FLP: no deterministic consensus in an asynchronous network (1985)

Partial synchrony: timeouts that eventually work (Dwork, Lynch and Stockmeyer 1988)

Partial synchrony: timeouts that eventually work (Dwork, Lynch and Stockmeyer 1988)

Practical Byzantine Fault Tolerance (Castro and Liskov 1999)

Practical Byzantine Fault Tolerance (Castro and Liskov 1999)