Skip to content

FLP Impossibility

Prove that no deterministic algorithm can guarantee both agreement and termination for consensus in an asynchronous system with even one crash-fault — by showing an adversarial message schedule can keep the system perpetually undecided.

Core Idea

FLP impossibility (Fischer, Lynch, Paterson 1985) proves that no deterministic algorithm can solve consensus — agreement, validity, termination — in an asynchronous message-passing system if even a single process may crash. The proof works through bivalent configurations, states from which both decisions remain reachable: a deterministic algorithm must start bivalent, and an adversarial scheduler can always deliver messages to reach another bivalent state, building an infinite run that never decides.

How would you explain it like I'm…

The Stuck Letter Vote

Some friends have to all pick the same game by passing notes, and a note can take any amount of time to arrive. One friend might fall asleep and never answer, but you can't tell a sleepy friend from a slow one. Scientists proved that under exactly these rules, no fixed plan can promise everyone will always finish choosing. Real computers get around it by changing one of the rules.

Slow or Crashed? Puzzle

FLP Impossibility is a famous result about computers that must agree on one answer by sending messages. It says: if messages can be delayed by any amount, if even one computer might crash, and if the computers follow fixed rules with no coin flips, then no method can guarantee they always finish agreeing. The problem is that a slow computer looks exactly like a crashed one. A tricky delivery order of messages can keep the group stuck forever, never quite deciding. Real systems work by changing one assumption, like assuming the network is usually fast enough or flipping random coins.

Asynchronous Consensus Impossibility

FLP Impossibility, proved by Fischer, Lynch and Paterson in 1985, says no deterministic algorithm can solve consensus in an asynchronous system if even one process may crash. Consensus means all working processes eventually agree on a value, the value was proposed by someone, and decisions are never revised. Asynchronous means there's no limit on how long messages or processing take, so a slow process can't be told apart from a crashed one. The proof shows there's always a state where both answers are still possible, and that an adversarial ordering of messages can keep it that way forever, so the algorithm never decides. The point isn't that agreement is impossible in practice; it's that you must relax asynchrony, determinism, or the failure model to guarantee it.

 

FLP Impossibility (Fischer, Lynch and Paterson, 1985) states that no deterministic algorithm solves consensus in a fully asynchronous message-passing system if even one process may crash-fail. Consensus requires agreement on a single value, validity (the value was proposed), and termination (processes eventually decide and don't revise). Asynchrony means no bound on message delay or execution speed, making a slow process indistinguishable from a crashed one. The proof uses bivalent configurations, from which both decisions remain reachable. It shows some initial configuration is bivalent, and that from any bivalent configuration an adversarial but legal delivery schedule reaches another bivalent one. Iterating yields an infinite valid execution that never decides. The theorem pinpoints the conjunction of asynchrony, crash failures and determinism; practical protocols break one leg. Paxos and Raft assume partial synchrony, Ben-Or and later protocols use unpredictable randomization, and Chandra and Toueg's failure detectors show that eventually-accurate crash information (weakest being ◊S) suffices.

Scope of Application

The result lives across the subfields of distributed computing that share the message-passing substrate — communicating processes under unbounded delay and crash faults.

  • Foundational theory — one of the three load-bearing impossibility results, with CAP and Byzantine generals.
  • Consensus-protocol design — Paxos, Raft, ZAB, etcd built explicitly around a partial-synchrony relaxation.
  • Randomized consensus — Ben-Or and common-coin protocols relax determinism with unpredictable coin flips.
  • Failure-detector theory — Chandra–Toueg's hierarchy, with ◊S the weakest detector that solves consensus.
  • BFT and blockchain consensus — PBFT, Tendermint, HotStuff declare their timing assumptions explicitly.
  • Replicated-database design — two-phase-commit blocking and three-phase recovery reasoned against this backdrop.

Clarity

FLP converts the vague complaint "consensus is hard" into a sharp identification of exactly which conjunction makes it impossible — full asynchrony, crash failures, and determinism, together. It is not a counsel of despair but a map of the trade-off space: because impossibility requires all three at once, every working protocol must relax one, and the theorem tells the engineer precisely which legs are available to give up.

Manages Complexity

Before the theorem, the difficulty of agreement was an undifferentiated fog of unreliable networks, crashed peers, and reordered messages. FLP collapses that fog to three named assumptions and makes the whole protocol zoo legible through one parameter: which leg does this protocol relax? Verifying a protocol reduces to checking whether the single assumption it gives up actually holds in the deployment.

Abstract Reasoning

The theorem licenses boundary-drawing (pinning impossibility to a named three-way conjunction rather than to insufficient cleverness) and a diagnostic classification (sort any protocol by which leg it relaxes, then read off its real precondition). It also supplies bivalency reasoning as a reusable proof instrument and an operational diagnosis: a hung cluster may be the proven non-terminating run, not a bug.

Knowledge Transfer

Within distributed computing the transfer is mechanical, because every setting is the same message-passing substrate — the three assumptions and the bivalency construction refer to the same machinery throughout. Beyond it, only the impossibility-theorem shape travels (a finite set of plausible postulates proved jointly unsatisfiable), recurring in CAP, Arrow, and Bell as co-instances. Invoking "an FLP-like impossibility" in economics or biology is metaphor; the genuine cross-domain weight belongs to the parent impossibility_theorem, not to FLP's consensus-and-asynchrony baggage.

Relationships to Other Abstractions

Local relationship map for FLP ImpossibilityParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.FLP ImpossibilityDOMAINPrime abstraction: Consensus — includesConsensusPRIMEPrime abstraction: Axiomatic Incompatibility — is a kind ofAxiomaticIncompatibilityPRIME

Current abstraction FLP Impossibility Domain-specific

Parents (2) — outgoing typed relations

  • FLP Impossibility is a kind of Axiomatic Incompatibility Prime

    FLP is axiomatic incompatibility specialized to deterministic consensus in a fully asynchronous system with one possible crash.

  • FLP Impossibility includes Consensus Prime

    The consensus problem's agreement, validity, and termination specification is an internal constituent of the FLP impossibility theorem.

Hierarchy paths (6) — routes to 5 parentless roots

Neighborhood in Abstraction Space

FLP Impossibility sits in a sparse region of the domain-specific corpus (75th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Computational Complexity & Hardness (18 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-25