nips/06.md
Seth For Privacy c6e14c8087
Add address_index for NIP-06 generation
I propose a change to NIP-06 that would allow the generation of infinite root keys by using the address_index field of the 5-level path used to derive Nostr keys under BIP32. 

The current 5-level path used for NIP-06 is "m/44'/1237'/0'/0/0", and only generates one private key. By changing it to "m/44'/1237'/0'/0/<address_index>", we can generate multiple keys from a single parent bitcoin seed.
2023-04-04 13:43:59 -04:00

16 lines
772 B
Markdown

NIP-06
======
Basic key derivation from mnemonic seed phrase
----------------------------------------------
`draft` `optional` `author:fiatjaf`
[BIP39](https://bips.xyz/39) is used to generate mnemonic seed words and derive a binary seed from them.
[BIP32](https://bips.xyz/32) is used to derive the path `m/44'/1237'/0'/0/<address_index>` (according to the Nostr entry on [SLIP44](https://github.com/satoshilabs/slips/blob/master/slip-0044.md)).
A basic client can simply use an `address_index` of `0` to derive a single key. For more advanced use-cases you can increment `address_index`, allowing generation of practically infinite keys from the 5-level path.
Other types of clients can still get fancy and use other derivation paths for their own other purposes.