Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ extend-ignore-re = [
"value: .*",
"pqNTRUsign",
"Strnad",
"nsec1.*",
Comment thread
ethicnology marked this conversation as resolved.
]

[default.extend-words]
Expand Down
54 changes: 53 additions & 1 deletion bip-0085.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,52 @@ OUTPUT
* DERIVED ENTROPY=5e41f8f5d5d9ac09a20b8a5797a3172b28c806aead00d27e36609e2dd116a59176a738804236586f668da8a51b90c708a4226d7f92259c69f64c51124b6f6cd2
* DERIVED ROLLS=1,0,0,2,0,1,5,5,2,4

===Nostr===

Application number: 86'

The application number is the sum of the alphabetical positions of the letters in Nostr (n=14 + o=15 + s=19 + t=20 + r=18) to avoid the confusion with NIP06.

The derivation path format is: <code>m/83696968'/86'/{identity}'/{account}'</code>
Comment thread
ethicnology marked this conversation as resolved.
Outdated

Uses the entropy as a Nostr private key.

Identity index <code>0'</code> is reserved for future protocol use.
Account index <code>0'</code> is reserved across all identities for key management operations.
Usable keys start at <code>identity >= 1'</code> and <code>account >= 1'</code>.

The resulting 32-byte private key is Bech32 encoded as an <code>nsec</code> per NIP19.

'''identity=1, account=1'''

INPUT:
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
* PATH: m/83696968'/86'/1'/1'

OUTPUT
* DERIVED ENTROPY=7f3313b1bdeacc4f395c666b473982550cdc66c225fd7e7b0f5d11d33cddde31
* DERIVED NSEC=nsec10ue38vdaatxy7w2uve45wwvz25xdcekzyh7hu7c0t5gax0xamccsyuyesn

'''identity=1, account=2'''

INPUT:
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
* PATH: m/83696968'/86'/1'/2'

OUTPUT
* DERIVED ENTROPY=41fbfba9227f7d261ccb90f61264fd0b38e1f762108c31135f8fc138329594ff
* DERIVED NSEC=nsec1g8alh2fz0a7jv8xtjrmpye8apvuwramzzzxrzy6l3lqnsv54jnlsuxjsql

'''identity=2, account=1'''

INPUT:
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
* PATH: m/83696968'/86'/2'/1'

OUTPUT
* DERIVED ENTROPY=a159a41860a18457855511334a3c813430468ec3c1ef17700d4917d0e881a45a
* DERIVED NSEC=nsec159v6gxrq5xz90p24zye550ypxscydrkrc8h3wuqdfytap6yp53dq5gdpd6

==Backwards Compatibility==

This specification is not backwards compatible with any other existing specification.
Expand All @@ -431,7 +477,7 @@ 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==

Expand All @@ -441,6 +487,12 @@ BIP32, BIP39

==Changelog==

===2.1.0===
Comment thread
ethicnology marked this conversation as resolved.
Outdated

====Added====

* Nostr application 86'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about 7879838482 per earlier discussion?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it a too big number ?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this is the remaining point to resolve?

Copy link
Copy Markdown
Contributor Author

@ethicnology ethicnology May 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it is.
86 is too small, but 7879838482 exceeds 2³¹. I want to make sure that won't cause issues.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it a too big number ?

Good catch. No reason to break integer bounds. Can we try the Hebrew “NSTR”?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To avoid removing a char, we could try, the ASCII sum of "nostr" (110+111+115+116+114) –> 566

But then I don't know if it is still too small

If so I could try a date


===2.0.0 (2025-09-19)===

====Fixed====
Expand Down