Skip to content
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

Standardize a BIP85 Derivation Path for Nostr Keys #1691

Open
ethicnology opened this issue Jan 16, 2025 · 8 comments
Open

Standardize a BIP85 Derivation Path for Nostr Keys #1691

ethicnology opened this issue Jan 16, 2025 · 8 comments

Comments

@ethicnology
Copy link

The title is explicit, bip85 is great, let's standardize a derivation path for Nostr Keys.

This would be very helpful to manage multiple identities over Nostr secured by the same mnemonic.

Derivation path should start after initial bip85 index (83696968') so m/83696968'/1984'/{index}' where index represent the identity of your key

first identity/keys would be 1984'/0', the second 1984'/1' and so on

What do you think?

@vitorpamplona
Copy link
Collaborator

Isn't that already on NIP-06? https://github.com/nostr-protocol/nips/blob/master/06.md

@ethicnology
Copy link
Author

It seems to derive directly from BIP32 without BIP85 but I may be wrong

@vitorpamplona
Copy link
Collaborator

Frankly, I failed to understand the differences between all these BIPs.

@fiatjaf
Copy link
Member

fiatjaf commented Jan 16, 2025

I don't get the use case for having multiple keys and a standard derivation method for them. NIP-06 was a mistake.

@ethicnology
Copy link
Author

Creating multiple identities (depending on the context) secured and derivated from the same mnemonic

@matejcik
Copy link

It seems to derive directly from BIP32 without BIP85 but I may be wrong

You can use BIP-85 to generate a BIP-39 seed, then derive the Nostr keys on the NIP-06 path.
I don't see a good reason to abuse BIP-85 specifically to derive Nostr keys. But see also #1774

@ethicnology
Copy link
Author

With BIP85 you can derive various format hex, base64

The good reason for nostr keys using BIP85 is to standardize the derivation path across applications.

Let's say you use app A from which you derived X nostr accounts, now you are switching to app B with the same mnemonic. The app B should recover your nostr accounts using the standardize path.

@matejcik
Copy link

Let's say you use app A from which you derived X nostr accounts, now you are switching to app B with the same mnemonic. The app B should recover your nostr accounts using the standardize path.

That's what NIP-06 is literally for.

BIP-85 allows you to export entropy; i.e., it could be useful if you wanted to generate private keys from a seed and then export those keys to some other app that doesn't understand the seed.
This is possibly valuable, see #1774 (comment), but "standardize the derivation path" is a very small piece of that functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants