Towards an intuitive high-performance consensus algorithm

Distributed consensus is the problem of how to reach decisions in asynchronous and unreliable distributed systems. The two most widely known algorithms are: Paxos, the traditional yet poorly understood solution; and Raft, the newcomer which democratised the understanding of distributed consensus. Raft is one of the most influential papers of this decade in distributed systems [...]

My Reactive Summit 2018 talk is now online

My talk titled "Liberating Distributed Consensus" from last year's Reactive Summit is now available on youtube. Abstract: The ability to reach consensus between hosts, whether for addressing, primary election, locking, or coordination, is a fundamental necessity of modern distributed systems. The Paxos algorithm is at the heart of how we achieve distributed consensus today and [...]

Majority agreement is not necessary for consensus

Did you know that majority agreement isn’t required by Paxos? In fact, most of the time, the sets of nodes required to participate in agreement (known as quorums) do not even need to intersect with each other. This is the observation which is made, proven and realised in our latest paper draft, Flexible Paxos: Quorum [...]

Paper notes on S-Paxos [SRDS’12]

The following is a paper notes for "S-Paxos: Offloading the Leader for High Throughput State Machine Replication". This paper was recommended to me as a example of high-throughput consensus, achieved by offloading responsibilities from the leader. The paper starts by demonstrates that JPaxos is throughput limited by leader CPU, peaking at 70 kreqs/sec, where as [...]

Paper Notes on PBFT [OSDI’99]

Practical Byzantine Fault Tolerance (PBFT) is the foundational paper in Byzantine consensus algorithm. Typically, distributed consensus algorithms assume nodes may fail (and possible recovery), but BFT extends this to tolerate nodes acting arbitrarily. Assumptions BPFT makes strong assumption about these arbitrary failures. Notability that at most f failures will occur in a system of 3f+1 [...]