mirror of
https://github.com/bitcoin/bips.git
synced 2026-08-24 18:47:19 +00:00
Merge pull request #2126 from ethicnology/bip85-nostr-application-86
BIP85: add Nostr application
This commit is contained in:
@@ -16,7 +16,7 @@ extend-ignore-re = [
|
||||
"prefix.*",
|
||||
"value: .*",
|
||||
"pqNTRUsign",
|
||||
"Strnad",
|
||||
"nsec1.*",
|
||||
]
|
||||
|
||||
[default.extend-words]
|
||||
@@ -29,6 +29,7 @@ Atack = "Atack"
|
||||
Falke = "Falke"
|
||||
Meni = "Meni"
|
||||
Ono = "Ono"
|
||||
Strnad = "Strnad"
|
||||
Toom = "Toom"
|
||||
|
||||
[files]
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
Type: Informational
|
||||
Assigned: 2020-03-20
|
||||
License: BSD-2-Clause OR OPUBL-1.0
|
||||
Version: 2.0.0
|
||||
Version: 2.1.0
|
||||
</pre>
|
||||
|
||||
==Abstract==
|
||||
@@ -423,6 +423,56 @@ OUTPUT
|
||||
* DERIVED ENTROPY=5e41f8f5d5d9ac09a20b8a5797a3172b28c806aead00d27e36609e2dd116a59176a738804236586f668da8a51b90c708a4226d7f92259c69f64c51124b6f6cd2
|
||||
* DERIVED ROLLS=1,0,0,2,0,1,5,5,2,4
|
||||
|
||||
===Nostr===
|
||||
|
||||
Application number: 128002'
|
||||
|
||||
The derivation path format is: <code>m/83696968'/128002'/{identity}'/{account_index}'</code>
|
||||
|
||||
Each <code>identity</code> is an independent, unlinkable Nostr key namespace, and each
|
||||
<code>account_index</code> is a distinct key within that identity.
|
||||
|
||||
Identity index <code>0'</code> and account index <code>0'</code> are reserved for future
|
||||
key-management use, such as proof-of-linkage between an identity's keys, key rotation, and
|
||||
revocation. Their semantics are out of scope for this BIP and may be specified by a future
|
||||
NIP. Usable signing keys therefore start at <code>identity >= 1'</code> and
|
||||
<code>account_index >= 1'</code>.
|
||||
|
||||
The standard application of BIP-85 produces 64 bytes of entropy. Take the first 32 bytes
|
||||
(the 256 most significant bits)<ref name="curve-order" /> as the secp256k1 secret key,
|
||||
as in the HD-Seed WIF application, and discard the trailing 32 bytes. Encode the secret
|
||||
key in Bech32 with the <code>nsec</code> human-readable part as specified by NIP-19.
|
||||
|
||||
'''identity=1, account_index=1'''
|
||||
|
||||
INPUT:
|
||||
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
|
||||
* PATH: m/83696968'/128002'/1'/1'
|
||||
|
||||
OUTPUT
|
||||
* DERIVED ENTROPY=ff6eb0fcdf1ef87a2a06b0d7884d495b486d0faa210e9f80f23fd649d6e114d27873d12f3b57c469f684e4dc9f4abf10beeacb59b385fde8e33f1947bc5c6c17
|
||||
* DERIVED NSEC=nsec1lahtplxlrmu852sxkrtcsn2ftdyx6ra2yy8flq8j8ltyn4hpznfq23uvqz
|
||||
|
||||
'''identity=1, account_index=2'''
|
||||
|
||||
INPUT:
|
||||
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
|
||||
* PATH: m/83696968'/128002'/1'/2'
|
||||
|
||||
OUTPUT
|
||||
* DERIVED ENTROPY=917628689652288f6983c8a01db516d0697d5198dcf9de9010597f5e322fba6e435a731d85fbcc5768c06ff95ff34bf577f63f415cb170473659753acf14722d
|
||||
* DERIVED NSEC=nsec1j9mzs6yk2g5g76vrezspmdgk6p5h65vcmnuaayqst9l4uv30hfhqje0jyh
|
||||
|
||||
'''identity=2, account_index=1'''
|
||||
|
||||
INPUT:
|
||||
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
|
||||
* PATH: m/83696968'/128002'/2'/1'
|
||||
|
||||
OUTPUT
|
||||
* DERIVED ENTROPY=fa2e784291b1fd347ba3624672e3090cb2cee34b8567180336e3aa290d02715b8f4b18f02f07cb2aa3023afd34735282cc6594370f47e6e1fa48d8d0dda93096
|
||||
* DERIVED NSEC=nsec1lgh8ss53k87ng7arvfr89ccfpjevac6ts4n3sqekuw4zjrgzw9dsq3uelh
|
||||
|
||||
==Backwards Compatibility==
|
||||
|
||||
This specification is not backwards compatible with any other existing specification.
|
||||
@@ -431,16 +481,23 @@ This specification relies on BIP32 but is agnostic to how the BIP32 root key is
|
||||
|
||||
==References==
|
||||
|
||||
BIP32, BIP39
|
||||
BIP32, BIP39,
|
||||
[https://github.com/nostr-protocol/nips/blob/master/01.md NIP-01],
|
||||
[https://github.com/nostr-protocol/nips/blob/master/06.md NIP-06],
|
||||
[https://github.com/nostr-protocol/nips/blob/master/19.md NIP-19]
|
||||
|
||||
==Reference Implementations==
|
||||
|
||||
* 1.3.0 Python 3.x library implementation: [https://github.com/akarve/bipsea]
|
||||
* 1.1.0 Python 2.x library implementation: [https://github.com/ethankosakovsky/bip85]
|
||||
* 1.0.0 JavaScript library implementation: [https://github.com/hoganri/bip85-js]
|
||||
|
||||
==Changelog==
|
||||
|
||||
===2.1.0 (2026-08-02)===
|
||||
|
||||
====Added====
|
||||
|
||||
* Nostr application 128002'
|
||||
|
||||
===2.0.0 (2025-09-19)===
|
||||
|
||||
====Fixed====
|
||||
|
||||
Reference in New Issue
Block a user