iancoleman / bip39

A web tool for converting BIP39 mnemonic codes
https://iancoleman.io/bip39/
MIT License
3.42k stars 1.42k forks source link

When NANO is selected, the derivation path is hard-coded and the tool's BIP39/BIP44 derivation path is ignored #490

Open loupiote opened 3 years ago

loupiote commented 3 years ago

When NANO is selected, the derivation path is hard-coded to m/44'/165'/n' for account #n, and the tool's BIP39/BIP44 derivation path is silently ignored.

This means that the Ian Coleman BIP39 tool cannot be used to get NANO addresses and private keys from arbitrary user-defined derivation path.

Any user-specified derivation path is silently ignored and NANO addresses purportedly derived from that path are in fact derived from the hard-coded path m/44'/165'/n' .

This bug was acknowledged by https://www.reddit.com/user/Joohansson/ , the author of the NANO code in the tool. See discussion in this thread: https://www.reddit.com/r/nanocurrency/comments/mo4ga7/nano_mnemonic_vs_bip39/gv2p9k7/?utm_source=reddit&utm_medium=web2x&context=3

Note: NANO Team does not advise BIP39-compliant wallets to use a BIP44 derivation path, but rather the 3-elements BIP32 derivation path m/44'/165'/n', specified here: https://docs.nano.org/integration-guides/key-management/?h=bip#mnemonic-seed . Also note that the NANO addresses displayed under the BIP44 tab are not derived from this BIP44 path, because of this bug.

iancoleman commented 3 years ago

There are some bip44 derivations (eth on ledger, coinomi) that differ from bip44 despite having purpose set to 44, see https://github.com/iancoleman/bip39/issues/128#issuecomment-351655304

Looks like the best way to manage this is use bip32 tab with a modified / non-compliant / non-standard bip44 style derivation path. Pretty confusing from coins and tools that use bip44 but don't comply to bip44 standard.