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 roughly the first two thirds, 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: erasure coding in consensus; payment systems; DAG-based protocols; accountability (part done); recovery protocols; player reconfiguration protocols (part done); the Pipes model; 2-round finality protocols.
I’m aiming to finish a first draft by the end of June, and will post updates here.
Here is the pdf.