Hey! How’s it going? I’m sharing some new ideas that came out of @Sovereign Engineering 6. They feel especially relevant given the recent news about compromised keys. This is a new NIP for identity checkpoints. In simple terms, a checkpoint is a signed event that says: "this key is me at this moment" Over time, that checkpoint can gather evidence and attestations from other people, helping to maintain identity continuity. The idea is that anyone can create a checkpoint to show they control a key. Later, if something bad happens, like losing the key or having it compromised, they can publish a new checkpoint linked to the old one. That creates a lineage people can look at to decide whether the new identity claim seems legitimate or trustworthy. When you combine this with OTS, social graphs, NIP-05, and other forms of evidence, you get a way to deal with identity recovery, which in decentralized networks like Nostr, is crucial since there is no central authority that can definitively say "this person kept their identity". The best we can do is evaluate the available evidence. This proposal is all about that Alongside this, there is also a complementary Snapshots NIP, which lets users preserve a specific version of a replaceable event. That can strengthen the evidence and reduce some attack vectors. I’ll soon publish an app to help create, visualize, and use all of this. Hope you find it interesting. #soveng #sec-6

Replies (16)

FYI, there already exists a key revocation and replacement mechanism for Nostr. It is fully implemented at Inkan. It's a prototype and has rough edges, but it works. I've been using it for several months now. It's open for testing - you can try it out now if you like. See below for screenshots.
inkan's avatar inkan
Inkan enables you to revoke and replace key pairs when your private key has been lost or stolen. You can also perform periodic key rotations preemptively. You can do all this in a decentralized manner. That way Inkan gives you a permanent online identity that only you control, and that you can be confident you can keep over the long-term. For example 50 years. Inkan is open for testing and comment. Let me know if you'd like to try it out.
View quoted note →
In other words, I disagree with the following sentence in your NIP draft: "In decentralized systems such as Nostr, there is no [...] mechanism that can conclusively determine identity continuity after key loss or compromise." Such a mechanism exists. It's been implemented at Inkan.
The notes below have some initial discussion of how Inkan works. The screenshots in the first note contain useful hints indicating what exactly it is doing. I think, however, that the best way to understand it is to log in and access the identity features of the client. This allows you to observe the existing permanent identities and click through the delegation / timestamp backup data that supports these identities. I've put your pubkey on the allow list for accessing the identity features. One of the notes below includes an initial "tour guide" that helps one get started / oriented. If you're interested, please log in and take a look, or please feel free to ask questions, express scepticism, etc. Happy to talk about anything related to it. View quoted note → View quoted note → View quoted note → View quoted note →
inkan's avatar inkan
Inkan enables you to revoke and replace key pairs when your private key has been lost or stolen. You can also perform periodic key rotations preemptively. You can do all this in a decentralized manner. That way Inkan gives you a permanent online identity that only you control, and that you can be confident you can keep over the long-term. For example 50 years. Inkan is open for testing and comment. Let me know if you'd like to try it out.
View quoted note →