kopia lustrzana https://github.com/nostr-protocol/nostr
nip-06: just a basic derivation path.
rodzic
bf34ca018e
commit
756e6af84e
16
nips/06.md
16
nips/06.md
|
@ -1,19 +1,15 @@
|
|||
NIP-06
|
||||
======
|
||||
|
||||
Key derivation from mnemonic
|
||||
----------------------------
|
||||
Basic key derivation from mnemonic seed phrase
|
||||
----------------------------------------------
|
||||
|
||||
`draft` `optional` `author:fiatjaf`
|
||||
|
||||
This combines [BIP39](https://bips.xyz/39) and a modified [BIP32](https://bips.xyz/32) into a scheme that allows the generation of a private key from a list of seed words.
|
||||
[BIP39](https://bips.xyz/39) is used to generate mnemonic seed words and derive a binary seed from them.
|
||||
|
||||
BIP32 is modified to use the key `Nostr seed` instead of `Bitcoin seed` in the HMAC function.
|
||||
[BIP32](https://bips.xyz/32) is used to derive the path `m/44'/1237'/0'/0'` (according to the Nostr entry on [SLIP44](https://github.com/satoshilabs/slips/blob/master/slip-0044.md)).
|
||||
|
||||
This document specifies the creation of a single Nostr private key, but it can be expanded in the future if "HD Wallets" ever become a relevant use case.
|
||||
This is the default for a basic, normal, single-key client.
|
||||
|
||||
Steps for generating the private key:
|
||||
|
||||
1. Follow the steps on BIP39 for generating the `mnemonic` and then the `seed` (512 bytes);
|
||||
2. Calculate `result = hmac-sha512(key = 'Nostr seed', data = seed)`;
|
||||
3. Use the first 32 bytes of `result` as the private key.
|
||||
Other types of clients can still get fancy and use other derivation paths for their own other purposes.
|
||||
|
|
Ładowanie…
Reference in New Issue