-
Notifications
You must be signed in to change notification settings - Fork 639
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linked Keys for Multi-Device Nostr #1810
Comments
First attempt at a solution: (copied here for convenience) ... maybe the basis of a new NIP? https://gist.github.com/melvincarvalho/0eeba92ad49bd7f8907694751ec20cbd Linked Subkeys for Multi-Device Nostr UsageAbstractThis NIP introduces a method for using multiple device keys in Nostr while maintaining a unified identity. Instead of sharing a single private key across devices, each device has its own subkey that is cryptographically linked to a master key. This enables seamless multi-device usage without compromising security. MotivationNostr currently has no built-in multi-device support. Users must either:
This proposal aims to:
Specification1. Master Key (
|
I wrote a blog post explaining one use case, namely GPG, which already uses subkeys. But nostr could be better because relays are better than keyservers: |
I implemented subkeys or key-link strategies multiple times. I am unconvinced they are beneficial to Nostr. The implementation complexity for relays and clients easily 10xes:
Each NIP will have its own little changes to account for subkeys. For instance, on Zap Polls, now the tallying must remove subkeys to make sure only one person is voting. But maybe somebody can invent a way to do this without breaking the extreme simplicity of Nostr. |
Recently there was a FROSTR prototype announcement and release. How might FROSTR fit, if at all, with the above problem statement? |
First, you are ignoring nostr connect. Multiple devices can use the same key without having the nsec by communicating with a nostr connect bunker. Second, I like this scheme except:
|
If you mean the NIP-46, I made a comparison comparison chart, I’ll admit—it’s framed in favor of subkeys, but I tried to fairly lay out the trade-offs. Open to adjusting it if there’s something I missed!
Thanks!
That makes sense—I also felt it was the weakest part, but included it for completeness. If removing it simplifies things, I’m happy to do that.
Agreed! Two-way links are actually part of the spec already:
If not, I’ll fix. Next step for me is to do an implementation and show it works. I believe Safebox is interested in implementing it too. I get that this could be a heavy lift for bigger clients right now, so my plan is to build it, test it, and show that it works. Then other clients can figure out if they think it would be useful. |
Been v impressed with frostr so far, but I'm still wrapping my head around it. I'm a taproot person so really love to see this work happening. My initial thought is that we are looking at complementary solutions, but I need to think this through a bit more. Very much open to collaboration! |
I think FROST requires a remote signer in the same way NIP-46 does... No? So, if that is a key restriction of the use case here, then it's no good. |
In the masterkey/subkey scheme I envisioned for nostr-next, certain documents could only be created by (and should only be recognized by) the master key. Things like relay lists and metadata. Yes, it makes changing your relays more of a PITA, but a rogue subkey changing your relays is too much of a security risk IMHO. But here we are saying the subkeys each have their own metadata, and maybe each their own relay lists. That might get complicated. Something to brainstorm on. Also, the masterkey should publish revocation information on subkeys, and I think a revocation date is important. If a key was stolen in July, or is just no longer used, maybe you still trust events signed in June. |
For clients that don't support this, they will see the profile and relays of the subkey. So we have to keep such things and they might get out of sync from master, but whatever. I think also that one of your devices could be using a subkey even if it doesn't support this NIP. Basically, support is optional. Without it, there are multiple melvincarvalho accounts, with it they are bound together. Is this right? |
related? #1709 |
Right now, using Nostr across multiple devices is a challenge. Either you:
I want to save something on my desktop, see it on my laptop, edit on my phone—but without giving my phone the master key.
Each device should have its own key, but they should be linked, so apps know they belong to the same user.
This seems like an obvious problem that still isn’t solved. Let’s fix it.
The text was updated successfully, but these errors were encountered: