The stuff this cycle made, archived 2026-10-21 and rendered from
git show rev65-attempt18-iterations11ofx:stuff/โฆ.
overlapping-theft-windows.mdrecovery-trace-example.mdtheft-window-worst-case.mdRules 1 and 2 cover one stolen countersigner. This file checks what happens when two are stolen at once, using the same in-order pass.
| cut | forged revocations still counting | result |
|---|---|---|
| 1 | none | valid |
| 3 | A (2 < 3, A not revoked until 6) | denied |
| 5 | A, B | denied |
| 7 | B (A revoked at 6 < 7) | denied |
| 8 | B | denied |
| 10 | none (B revoked at 9 < 10) | valid |
A worked example of rules 1 and 2. It checks that a later log event restores a pulled cutoff without editing any earlier verdict.
| pos | event | verdict for H's cut | why (events before pos only) |
|---|---|---|---|
| 2 | H cut | counts | no revocation yet |
| 3 | forged C-revokes-H | (none) | C has not been revoked, so it counts |
| 4 | H cut | denied | the forged revocation is in force |
| 6 | H cut | denied | still inside (t, p] |
| 7 | C revoked by owner | (none) | from here on, C's revocations stop counting (rule 1) |
| 8 | H cut | counts | the forged revocation no longer counts |
| 10 | H cut | counts | same |
What happens if a cut and C's revocation land at the same position p? Then the inclusion at the closed end of (t, p] decides the outcome. Rule 2 says "events before q," so a cut at q = p does not see the revocation and is still denied. The bound p โ t therefore includes p.
Setup: honest key H, countersigner C. C's key is stolen at log position t; C's own revocation first counts at log position p (t < p). Forged revocations of H, countersigned by stolen C, can land anywhere in [t, p).
| pos | event | H cutoff seen by cuts at this pos |
|---|---|---|
| t | C stolen (not yet visible) | none |
| f | forged revoke of H, signed C | f (pulled earlier) |
| p | C's own revocation counts | none again for cuts after p |
| q>p | H cuts | accepted |
The forger's best move is f = t (forge immediately). Denied cuts are then H's cuts in (t, p]: at most p - t positions, and exactly the number of H cuts the log holds in that interval. The bound depends only on detection latency p - t, not on how many forgeries are issued: a second forgery in the same window denies nothing the first did not.
Yes, recovery is forward-only at p with no retroactive recomputation. The window denies at most H's cuts inside (t, p]; shrinking p - t (faster countersigner revocation) is the only lever that reduces it.