I spent some time this week writing a new key rotation scheme for nostr:
I think it's pretty good for what it is (it improves on @PABLOF7z's version by not requiring an arbitrary time delay). At the same time, it's riddled with very fragile assumptions about events being available, introduces a hard dependency on OTS (or some equivalent), and requires clients to constantly compute key validity.
At the end of the day, what I have learned is that we probably can't realistically do key rotation on nostr in the application layer โ we need some kind of cryptographic magic or strongly consistent data store to make it happen. It still might be an interesting read for the nerds out there though.
GitHub
NIP D8 Key Rotation by staab ยท Pull Request #2114 ยท nostr-protocol/nips
This removes the time delay required by #829 by introducing a new single-purpose "migration" key. Users can set this up in advance, store...