guggero / cryptography-toolkit

A web-based collection of cryptography tools for schemes/algorithms used in Bitcoin and LND.
https://guggero.github.io/cryptography-toolkit/
MIT License
66 stars 37 forks source link

Confusing dropdown menu option text #7

Open andronoob opened 4 years ago

andronoob commented 4 years ago

Several dropdown menu options are provided for "HD node root key base58". However I think description text like "BTC (Bitcoin, legacy, BIP32/44)" "BTC (Bitcoin, SegWit, BIP49)" "BTC (Bitcoin, Native SegWit, BIP84)" might be confusing, because BIP44/49/84 defined their standard derivation paths respectively.

guggero commented 4 years ago

I'm assuming you mean the "Hierarchical Deterministic Wallet" page?

The main reason to distinguish between BIP44/49/84 is because the encoding of the HD root node key is different for each of them: Example mnemonic: merry immune feel luggage taste method six valid during zone fossil club BIP44: xprv9s21ZrQH143K3T7oqJvzr7Gc6ckQKkh7ZY9QuTz71BfAfyxxtcyGXkdDXvax8gC57PPMUPjZZ8o5TUJMqEpbFSGr3jcg1F6s9oYdRAC3GB6 BIP49: yprvABrGsX5C9jantkJvffid4CN7GatrGNgcUefdgrszPC33j5nC9H8q9pHMZ8YY8aqzX2WADsL81o9dLkuvYwEc3fxSv5K6b9vMRXcGomm1ruo BIP84: zprvAWgYBBk7JR8Gk3W3W2WFGHTcSZ3JCzg7PmBrUFmsmCQvnBbRPwJPmswVaLW88VVuvfcxyLvgUTWBE3XVGdecque3nR1XB4jqhFfvCM9jhTT

So I feel it's correct to use those different options. Or what exactly do you mean?

andronoob commented 4 years ago

I meant the "aezeed Cipher Seed Scheme" page, probably the "Hierarchical Deterministic Wallet" page is the same.

I think it's probably not correct to use terms like BIP44/49/84 here because these three standards not only define the encoding (and the script/address type implied), but also define the derivation path, while the HD root node key obviously does not contain any derivation path. The xprv/yprv/zprv provided here encodes exactly the same key (the root node key), while a tool with full BIP44/49/84 support (like Ian Coleman's BIP39 tool) provides account extended pub/priv keys (as well as HD root node key, but it's provided in different position), rather than the root node key only.

andronoob commented 4 years ago

Also, yprv/zprv will probably obsolete in the future since https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md can handle both derivation path and address(script) type in a simple, clear, better way.