This is a significant rewrite of “Consensus in 50 pages”, expanded into a short book.
I hope you’ll find it an easy-to-read and self-contained introduction to everything you need to know about distributed computing for blockchain. So far, I’ve completed the first half, which covers most of the basics, including most standard results for the synchronous and partially synchronous settings, and some results for the asychronous setting. You’ll find also clear explanations Tendermint, Hotstuff, PBFT etc.
Still to add: Simplex; protocols for asynchrony (including VABA); erasure coding in consensus; payment systems; DAG-based protocols; accountability; recovery protocols; player reconfiguration protocols; the Pipes model; 2-round finality protocols.
I’m aiming to finish a first draft by the end of May, and will post updates here.
Here is the pdf.