diff --git a/.typos.toml b/.typos.toml index 79fb1312af..bc0109460f 100644 --- a/.typos.toml +++ b/.typos.toml @@ -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] diff --git a/bip-0085.mediawiki b/bip-0085.mediawiki index b0f00abbef..2b08eb17f3 100644 --- a/bip-0085.mediawiki +++ b/bip-0085.mediawiki @@ -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 ==Abstract== @@ -423,6 +423,52 @@ OUTPUT * DERIVED ENTROPY=5e41f8f5d5d9ac09a20b8a5797a3172b28c806aead00d27e36609e2dd116a59176a738804236586f668da8a51b90c708a4226d7f92259c69f64c51124b6f6cd2 * DERIVED ROLLS=1,0,0,2,0,1,5,5,2,4 +===Nostr=== + +Application number: 9000' + +9000 is the zip code of Funchal in Madeira, Portugal, where this specification was written during the Sovereign Engineering event. + +The derivation path format is: m/83696968'/9000'/{identity}'/{account_index}' + +Uses the entropy as a Nostr private key. + +Identity index 0' is reserved for future protocol use. +Account index 0' is reserved across all identities for key management operations. +Usable keys start at identity >= 1' and account_index >= 1'. + +The resulting 32-byte private key is Bech32 encoded as an nsec per NIP19. + +'''identity=1, account=1''' + +INPUT: +* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb +* PATH: m/83696968'/9000'/1'/1' + +OUTPUT +* DERIVED ENTROPY=552ad1d578fe1bc927cec9612651652b07c52dde4017911bc23bc953568075ff +* DERIVED NSEC=nsec1254dr4tclcdujf7we9sjv5t99vru2tw7gqtezx7z80y4x45qwhlsmxapst + +'''identity=1, account=2''' + +INPUT: +* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb +* PATH: m/83696968'/9000'/1'/2' + +OUTPUT +* DERIVED ENTROPY=4fd36c0061a65db375b4350f44bb62a6d7f716ee93bd0f59887ac50b35fa8b96 +* DERIVED NSEC=nsec1flfkcqrp5ewmxad5x585fwmz5mtlw9hwjw7s7kvg0tzskd063wtq34wlgr + +'''identity=2, account=1''' + +INPUT: +* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb +* PATH: m/83696968'/9000'/2'/1' + +OUTPUT +* DERIVED ENTROPY=b2d3b48992d46f98beac0196c4e258417087e467dbec1503342785368f4402c2 +* DERIVED NSEC=nsec1ktfmfzvj63he304vqxtvfcjcg9cg0er8m0kp2qe5y7zndr6yqtpq7q5y44 + ==Backwards Compatibility== This specification is not backwards compatible with any other existing specification. @@ -431,16 +477,20 @@ 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 NIP01], [https://github.com/nostr-protocol/nips/blob/master/06.md NIP06], [https://github.com/nostr-protocol/nips/blob/master/19.md NIP19] ==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-05-15)=== + +====Added==== + +* Nostr application 9000' + ===2.0.0 (2025-09-19)=== ====Fixed====