Here's an idea for saving people who compromised their keys:

- first you nominate 5 friends

- then you paste your keys on Anigma and they get stolen by #[0]

- now you make a new key and ask your 5 friends to visit savemyfriendsnostrkey.com and click a button attesting that that is your new key, they will publish these as special events

- finally you use your compromised key to gather the 5 attestations from your friends and publish a new special event

- now all your followers that see this special event will automatically stop following the compromised key and start following the new key

- people using clients that do not support the special event can open refreshmyfollowlistwithupdatedkeys.com and their contact lists will be automatically updated

Reply to this note

Please Login to reply.

Discussion

A simplified version of the idea requires not choosing the 5 people beforehand, but instead relying on people that you followed before the key was compromised.

Unfortunately this doesn't work immediately because the attacker can publish backdated events changing your follow list. But I think some gimmicks can be made so this will work too, with a little bit of ambiguity and trust in relays, maybe.

I was thinking the other day that just a revoke event that suggests a new key could work.

Clients would then prompt and give notice that the key has been revoked and suggest moving to the new key while providing additional information.

A client could use their own follow graph for additional verification.

For example, Bob and Carol know each other well, Alice follows both of them. Bob revokes his key and suggests a new one. Alice's client notices Carol now follows Bob's new key and displays it in the prompt to switch. Alice then follows Bob's new key.

Backdating events is also the problem of predesignated successor accounts (what I called canaries).

Did you ever think about how timestamping could work in nostr?

I imagine doing this right is not so easy (after all this is what Bitcoin solved).

But maybe there is more pragmatic solution which would work well enough? For example we two can both agree now, that all events referenced in this thread happened one after another.

Each event could include a „suggested successor pubkey“ like the suggested relay. Increased occurrence in events referenced by friends would increase credibility of time order.

I have an idea and not sure how practical and applicable it can be.

The concept basically is a higher level key pair. We have now a public and private keys. Let’s add two more keys.

The first new key type is a MASTER key, which is a user’s (salt * npub * nsec) or randomly generated. The second key is a POSTER key, which is a public key derived from the MASTER key. Theoretically, a user can have infinite MASTER keys. However, a user may decide at any moment to choose and assign the new key pair. Assigning the new key pair requires the user to publish from the associated npub a possibly new kind event and advertise the POSTER key. This event is a one time irreversible event.

POSTER keys work as pointers and status checkers. They are the npubs managers and the identity keepers. They publish npubs with updatable tags or labels for self or others.

Example: I decided to generate my key pair today. I go to a nostr identity manager client. I enter my current nsec and login to generate a new MASTER pair and publish the event from my current npub. I then will be able to label my npub as active, revoked, expired or old… I could then generate new key pairs for any use case and tag them as such. I could also vouch to other’s npub’s essentially to build on the idea of web of trust.

This also can work with your idea of allowing other people to federate or co-manage identities or keys. I just thought of all this now. I could have overlooked some design flaws.

This same process can work if you have actually lost your key and don't have access to it anymore, for example, if we allow 7 friends (instead of 5) to actually revoke your key against your will. Or make it require less people as long as the key is inactive for a long time. There are many possibilities.

NIP-41 fixes this

I feel like this process and many variations of it (for example, the NIP-41 and NIP-109 proposals) can all be described in the same NIP and be supported in various degrees, with different security models for different people.

The NIP-41 idea can only be done by people that are very serious about their key security, while NIP-109

... can be just a fallback for when nothing else works (just delete my key).

The key insight here is that people become used to the practice of from time to time, scanning the network for some special events that signal that some keys may have changed, and then they stop following the old one and start following the next. This can be done inside their main social app or on a standalone app or website.

But all these possibilities are not to be seen as "key rotation". They are, as the text for the NIP-41 proposal says, best-effort attempts to minimize damage from losing keys.

More thoughts on this from past month:

- https://fiatjaf.com/4c79fd7b.html

- https://fiatjaf.com/72f5d1e4.html

I logged out of my client and lost my key. Im not popular so i just made a new profile, lol

That's also a good solution.

i think this/maybe with some minor iterations is one of the keys (pun intended) to normie #nostr addition, very necessary 🤙💜🚀

nostr:nevent1qqsvshsqe260d6lhel6l8ygj7nu5703vguhtdj8mv734u7e5dgg0qscpz9mhxue69uhkummnw3ezuamfdejj7q3q80cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsxpqqqqqqzjnd30a

Thinking about main stream no tech folks, like my mother, how would you ask them to explore #nostr and keeping their keys safe?

This is great

Sounds a bit like the scuttlebutt thing called dark crystal. 5 friends might be a bit difficult, depending on usage, i'd guess.

Isn't that a way to shard keys?

Im hoping supertestnet is nice enough to leave keys be :D

Social recovery simplified is nice. 👍

Sounds promising

There's another concept to handling this loss: #FIDO

Should you experience a great loss in your life try this tried and trued philosophy:

Fuck It, Drive On.

This eliminates much stress and prepares you for your next leg of the journey where you realize your mistake and you move on. Or you let go of something that never was a part of you anyway and you rebuild.

Two or three times in my own life I have taken notebooks of writing and I have stacked them up and burned them just so that I could be free of the attachment to those ideas and I could keep writing, start fresh and move on.

Upon your death you only have your actions and the Universe or God keeps a record and eventually that record gets expunged in favor of new energy.

Conversely building a tool that hardens your actions may or may not be valuable too. In this case we must once again be free to go to the market with our actions and reputations to continue doing business.