Skip to content

Consensus Problem

Multiple nodes agreeing on a single value despite failures is the fundamental coordination primitive in distributed systems - all higher-level coordination (leader election, atomic broadcast, distributed transactions) reduces to consensus.

Tension Addressed

Agreement vs. Progress

Recognizable As

Leader election protocols; distributed locks; atomic commit; total order broadcast; configuration management; membership protocols

Canonical Sources

Lamport, "The Part-Time Parliament" (Paxos) (1998); Ongaro & Ousterhout, "In Search of an Understandable Consensus Algorithm" (Raft) (2014); Chandra & Toueg, "Unreliable Failure Detectors for Reliable Distributed Systems" (1996)

Transfers To

Distributed databases, cluster coordination, blockchain, distributed configuration, service discovery

Consensus is difficult not because of complexity but because of fundamental impossibility results. Any consensus protocol must balance three properties: agreement (nodes decide same value), validity (decided value was proposed), termination (decision eventually happens). FLP proves you cannot guarantee all three.