There are two distinct scenarios we need to handle:
- Key Compromise with Access: You discover your key is compromised, but you still have it
- Lost Keys: Your key is gone - device destroyed, forgotten, or otherwise inaccessible
Solution 1: The Compromise Declaration
When you discover your key is compromised but still have access, you can publish a special "compromise declaration" event. This is a loud, permanent, irreversible signal that your key should no longer be trusted.The brilliance is in what happens next: you update your profile name to[COMPROMISED] YourName. If an attacker tries to remove it, you add it back. This creates a spam war that actually helps - the very chaos of competing updates signals to everyone that something is wrong with this account.Even if the attacker "wins" and controls the account, they're controlling an account that's been permanently marked as compromised. They've essentially vandalized their own prize.Solution 2: Social Key Rotation
The second solution is more radical: anyone can propose that a key should rotate to a new key, and the community decides if it's legitimate through attestations.
Here's how it works:
- Proposal: Anyone (including you with a different key) publishes a rotation proposal
- Attestation: Your friends verify out-of-band (Signal, in-person, video call) and publish attestations
- Confidence: Clients calculate confidence based on who's attesting and how many
- Manual Action: Users see the attestations and manually decide whether to follow the new key
The key insight: if both the old AND new keys sign the proposal, that's strong evidence. But even without the old key (lost scenario), sufficient attestations from your social graph can establish legitimacy.The Non-Deletable Event Range
These proposals introduce events in kinds 65533-65535, which we're proposing as permanently non-deletable. Once you declare a key compromised or propose a rotation, that record stays forever. This prevents attackers from hiding their tracks and gives the community a permanent audit trail.