Consensus is a fundamental problem in distributed computing. This chapter will cover the fundamentals of the consensus problem and discuss some history covering the Byzantine generals problem, building blocks of consensus, and how we can solve this problem in distributed systems.
As fault tolerance is a fundamental requirement in distributed systems, several primitives introduce fault tolerance. Fault-tolerant broadcast algorithms allow for the development of fault-tolerant applications. Consensus enables processes to reach a common ...