Chapter 31: the proof that it cannot be done - #92
Open
SamuelXing wants to merge 1 commit into
Open
Conversation
Season 3 opens, and the first chapter in this book whose subject is a proof rather than a system. FLP — Fischer, Lynch & Paterson, JACM 1985 — read from the PDF, with every number and quotation taken out of it rather than recalled. The chapter's problem is that the format was built for systems. The fix is that the proof genuinely is a design, so the DesignIt walks the reader through the argument itself: how you handle a process that has gone quiet, where you start a run you intend never to finish, and what you do about the message you owe. The three moves are the paper's three moves, and the reveal states the thing almost nobody carries away from it — the run the proof constructs has no crash in it at all. Every process takes infinitely many steps, every message arrives. What breaks the protocol is having been obliged to be ready for a failure that never happens. The trace runs that schedule one stage at a time. Nothing in it is faulty, which is why every process box is the same blue and the amber sits on the bookkeeping rather than on a machine — there is no coordinator here to paint. Also included, because almost nothing that cites this paper mentions it: Section 4 contains a working consensus protocol. Its assumption is that no process dies *during* execution, which isolates the difficulty with unusual precision — the problem was never that machines fail, it is that one may fail while you are in the middle of talking to it. Three figures and an act opener. The clique diagram's first draft drew the group as an arc over the row, which ran straight through the label above it — a curve the geometry lint has no opinion about, since it measures straight segments. Redrawn as a frame, which is also the better picture: an initial clique is a set with no incoming edges, and a frame with nothing entering it draws the definition rather than an illustration of it. Season 3's Act I now has a figure, which is the guard that fires the moment a season's first chapter goes live. Broken on purpose to confirm it: removing the figure key fails three assertions in book.test.ts, including the one added in #91 for exactly this transition. 380 tests, 178 diagrams measured clean, 102 routes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
ddia-live-comic | d55b3f3 | Sep 06 2026, 07:25 AM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Season 3 opens. FLP — Impossibility of Distributed Consensus with One Faulty Process, Fischer, Lynch & Paterson, JACM 32(2), 1985 — read from the PDF, with every hard number and quotation extracted from it rather than recalled.
The problem this chapter had to solve. The format was built for systems: a paper, a mechanism, a bill. This one has no system in it. The way through is that a proof is a design — an adversary is a thing you build — so the DesignIt walks the reader through the argument rather than around it. Three decisions: what you do about a process that has gone quiet, where you start a run you intend never to finish, and what you do about the message you owe. They are the paper's three moves in order, and getting the third one right is Lemma 3.
The line the chapter is built on. Almost nobody who cites this paper mentions that the run it constructs contains no crash. Every process takes infinitely many steps; every message is delivered. The protocol was required to survive one stopped machine, the machine never stops, and what breaks it is having had to be ready — because readiness means the decision can never hang on any single process, which is exactly the freedom the schedule needs.
Also in here, and also rarely quoted. §4 contains a working consensus protocol. Its assumption is that no process dies during execution, which isolates the difficulty about as precisely as anything in the literature: the problem was never that machines fail, it is that one may fail while you are mid-conversation with it.
What is new
src/papers/chapters/flp.tsx— the chapter (7 steps, DesignIt, 5 sources, all URLs verified live)src/papers/chapters/flp-trace.ts— the adversary's stage loop, run one stage at a timediagrams.tsx— the bivalence frontier, the four exits, and §4's initial cliqueActS3IinactDiagrams.tsx— the floor with a hole in it and a plank across the hole, which is Act I's whole argumentTwo things worth reading the diff for
The clique figure's first draft drew the group as an arc over the row, and it ran straight through the label above it. The geometry lint had no opinion — it measures straight segments against text boxes, and a Bézier is neither. Caught by screenshotting it. Redrawn as a dashed frame, which is also the better picture: an initial clique is a set with no incoming edges, so a frame with nothing entering it draws the definition instead of illustrating it.
And Season 3's Act I now has a figure. That is the guard added in #91 for exactly this transition — an act may have a summary and no drawing while it is unwritten, and must not once a reader can read into it. Broken on purpose to confirm it bites: removing the figure key fails three assertions in
book.test.ts.Checks — 380 tests,
tsc -bclean, geometry lint clean across 178 diagrams on 55 pages,[trace-lint]silent, 102 routes with cards, production build passes.Unrelated, found by the link checker, not fixed here:
https://www.cs.wustl.edu/~jain/papers/ftp/cong_av.pdf, cited inread/comics/backpressure.tsx, no longer resolves. Worth its own small PR.🤖 Generated with Claude Code