How can you prevent the attacker from publishing a new fallback key and locking you out completely?
Introducing Kind0.io
A NIP-41 proof of concept.
What is NIP-41? A simple way to migrate from a compromised key into a new key while signaling to your followers what happened.
It works by whitelisting your next npub ahead of time and timestamping it to something that can order events chronologically (ie the Bitcoin blockchain)
When a key is lost or compromised the new key can sign a migration event, timestamp it as well and then clients can choose to act on it.
For more discussion on this, listen to nostr:npub1az9xj85cmxv8e9j9y80lvqp97crsqdu2fpu3srwthd99qfu9qsgstam8y8 's recent Bitcoin.review where they go over the why and the tradeoffs.
Here’s is a very rough video of a very rough tool to implement this whole flow.
This is not the last word on key management; there is still a lot of work to be done, but this is a small step in the right direction that will allow us to migrate the existing nostr social graph to more cryptographically complex schemes for whoever wants to do that.
https://cdn.satellite.earth/3f1bf208810669bd3a9eaa7a0b9c7ff2d75d1abc893a6b2db8463d6f4923d083.mp4
Discussion
Whoever publishes first has the upper hand; if you don’t have the first published event you’ll have to work more to convince your current graph that the newer event is the real one by communicating out of band