The stuff this cycle made, archived 2026-10-21 and rendered from
git show rev65-attempt21-iterations12ofx:stuff/….
ask-2.mdcosigner-revocation-trace.mdtwo-cosigner-trace.mdvouch-forgery-trace.mdAnswer. Partly. Naming the co-signer in the [key] event closes off the thief's self-registered co-signer. That holds even more firmly than this cycle's first-filing anchor does. But if the name can change only with that co-signer's vouch, an honest holder who loses their only named co-signer can never replace it. They are not silenced in one sense: they still have the key, so they can sign. What they lose for good is the ability to get a revocation confirmed. To avoid this, the [key] event has to name two or more co-signers and allow a replacement when any one of the others vouches for it. With a single named co-signer, the scheme repeats the gap this cycle already found.
stuff/vouch-forgery-trace.md found the same thing under rule 2: a holder with one co-signer has no eligible voucher once it is lost. Moving the anchor to registration doesn't create one.What would settle it: a trace with two named co-signers that runs through four cases: losing one co-signer, losing both, stealing the key alone, and stealing the key with one co-signer. That would show whether 1-of-remaining vouching is enough or whether recovery after losing both needs a delayed path.
The previous trace ended with an open gap: a key and one co-signer are both stolen, and under rules 1 and 2 the stolen co-signer can vouch in more of the thief's co-signers. The suggested fix was to let any eligible co-signer revoke another. This file runs that fix to see where it breaks.
The first revocation filed wins. That turns revocation into a race, and the thief controls when the theft starts, so the thief usually wins.
A revocation takes effect only if nobody counter-revokes it within N positions. If both sides revoke each other, the pending revocations block each other and both co-signers are frozen.
A freeze is enough here: it closes the gap without having to tell which co-signer was stolen.
If co-signers registered earlier outrank later ones, A (registered first) would win. But the thief can steal whichever co-signer is older, so seniority just tells the thief which one to steal.
| Theft | Any-revokes | Pending + freeze |
|---|---|---|
| K + B, A honest | race, thief usually wins | both frozen, no new co-signers |
| K only | no effect | no effect |
| Both co-signers lost | holder stuck | holder stuck |
A co-signer revocation takes effect after N positions unless the revoked co-signer files a counter-revocation in that window; mutual revocations freeze both co-signers' ability to vouch.
Still open: a frozen key with no working co-signers is the same dead end as "both co-signers lost". Getting out of it needs something outside the key's own co-signer set.
Setup: key K files for the first time at position P. Co-signers A and B were both registered before P. A was the first one, so rule 1 lets it count on its own. B counts because A signed its registration.
| Case | What happens | Rule applied | Outcome |
|---|---|---|---|
| 1. Holder loses A after P | B signs the registration of a new co-signer A' | rule 2: signed by B, which is still eligible | Honest holder recovers |
| 2. Holder loses A and B after P | No eligible co-signer is left to sign a replacement, and K alone cannot sign one | rule 2 | Holder can never add a co-signer again. Gap: nothing in the rules lets them recover |
| 3. Thief steals K only, after P | Thief uses K to register C | rule 1/2: C is not signed by A or B | C does not count, so the thief is shut out |
| 4. Thief steals K only, before P, and the holder has registered no co-signer yet | Thief registers C first | rule 1: the "first co-signer" clause | C counts. Gap: the anchor only protects holders who register before the theft |
| 5. Thief steals K and A | A signs the registration of thief-controlled C | rule 2: A is still eligible | C counts, and the thief now holds two votes against B's one. Gap: no rule lets B mark A as compromised |
The vouch requirement does what the direction asks in cases 1 and 3: a thief holding only K is closed off, and an honest holder who lost one co-signer can still replace it after filing. Three gaps remain:
Next rule to draft: let any eligible co-signer revoke another co-signer's eligibility. Then B could cut A off in case 5. That leaves the 1-of-n ambiguity: B could be the one who was stolen.
Setup: key K, honest holder H, co-signer A registered before K's first filing (eligible under rule 1). Thief T steals K at step 5.
| step | actor | action | counts? | why |
|---|---|---|---|---|
| 1 | H | register A, signed by K | yes | first co-signer, before first filing (rule 1) |
| 2 | H | first filing on K | yes | A now anchors the key |
| 5 | T | steals K | - | |
| 6 | T | register co-signer T2, signed by K only | no | not signed by an eligible co-signer (rule 1) |
| 7 | T | refile with T2's confirmation | no | T2 is not eligible, so the no-refile bar holds |
| 9 | H | loses A's device | - | |
| 10 | H | register A2, signed by K only | no | key alone cannot replace (rule 2) |
Should a holder be required to register at least two co-signers before the first filing, so that losing one still leaves a voucher, or should there be a delayed, contestable recovery path for a holder whose last co-signer is lost?