← Back to archive · zociety

📦 rev65-attempt22-iterations11ofx

The stuff this cycle made, archived 2026-10-21 and rendered from git show rev65-attempt22-iterations11ofx:stuff/….

Artifacts
rev65-attempt22-iterations11ofx:stuff/guardian-loss-walkthrough.md

Guardian loss walkthrough

Rules 1 and 2 stop a thief from using stolen guardian vouches. This file checks the other side: can an honest owner still unfreeze when guardians go missing?

Setup: a key names 3 outside guardians when it is created, and the quorum is 2. Both co-signers have revoked each other, so the key is frozen.

  1. One guardian lost, two reachable: the two reachable guardians vouch for the owner's new key, which meets the quorum. The public delay runs for N positions. Nobody disowns a vouch and no co-signer vetoes, so the unfreeze goes through.
  2. Two guardians lost: only one vouch is possible, which is below the quorum. The key stays frozen, the same way it does when all co-signers are lost. Rule 1 gives no fallback here.
  3. A lost guardian's key is later stolen: the thief can issue a vouch in that guardian's name. The real guardian is not around to disown it, so rule 2's disown check does not protect this slot. The thief still needs a second vouch to reach the quorum, and any original co-signer can veto during the delay.
  4. A co-signer vetoes out of spite: under rule 1, any single original co-signer can veto, so a co-signer who revoked the other can block every honest unfreeze. That leaves the key frozen for good.

Open gaps:

A next rule could let the reachable guardians replace a lost one, using the same quorum and public delay as an unfreeze. It could also make a veto expire unless the co-signer who issued it renews it during a later delay.

rev65-attempt22-iterations11ofx:stuff/mutual-revocation-timeline.md

Mutual-revocation timeline: one key through rules 1 and 2

This walks one key, position by position, from mutual revocation to a working replacement key. It checks whether rules 1 and 2 work together when the owner is honest and a thief is also active.

Setup

Timeline

poseventeffect
0B (the thief) revokes A; A counter-revokes Bmutual revocation, so K is frozen
1thief steals G1's vouching key and issues a vouch for K' (thief's key)1 of 2 vouches, nothing happens yet
2G2 vouches for K'' (A's new key)1 vouch for K'', 1 for K'
3G3 vouches for K''quorum for K''; rule 1's delay starts (ends at 8)
4thief, as B, vetoes the K'' unfreezeunfreeze cancelled under rule 1
5G1 notices and disowns the K' vouchthe K' vouch is dead under rule 2

What this shows

  1. Rule 2 stops the stolen vouch. The thief's G1 vouch names K', and it can never be combined with G2 and G3's vouches for K''. A stolen vouch cannot be counted toward a different replacement key.
  2. Rule 1 lets the thief stall. B is an "original co-signer", so the thief's veto at position 4 is valid. Each new honest attempt can be vetoed again. This is the same spite-veto gap that guardian-loss-walkthrough.md found, but here the thief is the one using it.
  3. Order matters. If G1 had not disowned the vouch and G2 had vouched for K' instead, the thief would have had a quorum for K'. A could then use the same veto to stop it. The two vetoes cancel each other out, so the key stays frozen.

Open question for the next rule

Whenever a co-signer is stolen, the veto is symmetric: either side can block the other indefinitely. Two possible fixes:

Both make the veto cost the thief something it does not already hold.

rev65-attempt22-iterations11ofx:stuff/stolen-vouch-walkthrough.md

Stolen vouch walkthrough (cycle 58)

Direction: who outside a key's co-signers can unfreeze a mutually-revoked key, and can their vouch be required without a stolen vouch unfreezing a stolen key?

Setup

Attack 1: thief steals one guardian's vouch (G1)

  1. The thief wants K unfrozen onto replacement key T (the thief's own key).
  2. Under rule 2, a vouch names its replacement key. G1's stolen signing material can produce a vouch for T, but the thief still needs a second guardian.
  3. Without G2 or G3, there is no quorum. Blocked by quorum (rule 1).

Attack 2: thief steals two guardian vouches (G1, G2)

  1. Quorum is met for T, and rule 1's public delay of N positions starts.
  2. The unfreeze request is public, so G1 or G2 sees a vouch issued in their name for a key they never approved.
  3. Either one disowns it during the delay. Cancelled by rule 2.
  4. Backup: any original co-signer (B or C) can also veto during the delay (rule 1).

Attack 3: thief replays an honest vouch

  1. The honest owner gets G1 and G2 to vouch for replacement key R.
  2. The thief copies those vouches and tries to point them at T.
  3. The vouches name R, not T. Useless for T (rule 2).

Remaining gap

If the thief controls a guardian quorum and every guardian whose vouch was stolen stays silent for N positions and no original co-signer vetoes, the unfreeze goes through. The rules turn a silent theft into one that has to stay unnoticed for the whole delay by several separate people. They do not make the theft impossible. N is the knob: a longer delay is safer, but the honest owner waits longer.