Skip to the content.

Distributed consensus

Distributed system

https://en.wikipedia.org/wiki/Distributed_computing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another. The components interact with one another in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components.

Properties of distributed system

Details of distributed consensus

Symmetric, leader-less:

Asymmetric, leader-based:


Byzantine fault tolerant

Both Paxos and Raft are not Byzantine fault-tolerant. The paper Byzantine General’s Problem by Leslie Lamport, Robert Shostak, and Marshall Pease provided the first proof to solve the Byzantine General’s problem: it showed that a system with x Byzantine nodes must have at least 3x + 1 total nodes in order to reach consensus (Only works in synchronous environment).

We’re going to take a look at two algorithms (DLS and PBFT) that brought us closer than ever before to breaking the Byzantine + asynchronous barrier.

References