{
  "status": "unknown",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-11",
  "slug": "flp-impossibility",
  "term": "FLP impossibility",
  "aliases": [
    "Fischer-Lynch-Paterson impossibility",
    "FLP theorem"
  ],
  "definition": "FLP impossibility rules out guaranteed termination of deterministic consensus in a fully asynchronous message-passing system that must tolerate one process crash.",
  "note": "The model has reliable messages but no timing bounds or perfect crash detector. Admissible runs allow at most one stopped process and eventually deliver messages to nonfaulty processes. [flp-paper]\n\nEvery protocol satisfying agreement and nontriviality has some admissible run that never decides. This does not mean every execution stalls, and an actual crash or permanent partition is not required. [flp-paper]\n\nThe theorem separates agreement from guaranteed termination; it gives no outage probability or latency estimate. [flp-paper]",
  "related": [
    "partial-synchrony",
    "failure-detector",
    "raft",
    "paxos"
  ],
  "citations": [
    {
      "id": "flp-paper",
      "title": "Fischer, Lynch and Paterson. Impossibility of Distributed Consensus with One Faulty Process. JACM 32(2), 374-382, 1985; sections 1-3.",
      "url": "https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf",
      "accessed": "2026-11-11"
    }
  ],
  "provenance": [
    "Primary-source synthesis of the 1985 journal paper, sections 1-3. The conference presentation was in 1983. No new proof, protocol execution or empirical result is claimed."
  ]
}
