bip39 icon indicating copy to clipboard operation
bip39 copied to clipboard

Ledger derivation is out of date

Open ghost opened this issue 5 years ago • 5 comments

It seems that Ledger changed the derivation path almost a year ago. They are also using the account field, not the address_index (for privacy). https://github.com/MyCryptoHQ/MyCrypto/issues/2070

ghost avatar May 09 '19 08:05 ghost

Thanks for this.

Looks like it doesn't need any additional work here since the BIP44 tab will now work by default for ledger. Possibly these lines should change the name to 'Ledger (legacy)':

https://github.com/iancoleman/bip39/blob/dfa696859af863cb46618bc59db62fbe0a6302a4/src/js/index.js#L2776-L2782

Anything else you can see that should be changed in this tool?

iancoleman avatar May 10 '19 01:05 iancoleman

Thanks for the quick response.

It seems that Ledger needs its own tab or an option to iterate over the "account" field instead of "address_index". https://github.com/MyCryptoHQ/MyCrypto/issues/2070

in Ledger Live instead, the idea is to follow BIP44, which means the first address is derived on m/44'/60'/0'/0/0, the second on m/44'/60'/1'/0/0, and so on,.. so in other words using the account field of BIP44. (m/44'/60'/x'/0/0)

https://github.com/LedgerHQ/ledger-live-desktop/issues/1185

Ledger Live uses m/44'/60'/x'/0/0 for addresses, but Trezor and MEW use m/44'/60'/0'/0/x, which also seems to be the consensus that has been reached on EIP 84. This will lead to the same derivation for the first address, but different derivations for subsequent addresses.

@gre could you please confirm?

ghost avatar May 10 '19 01:05 ghost

yes that's correct. Both patterns are supported by Ledger Live still, but Ledger Live only allows to create BIP44 accounts on the interface at the moment.

gre avatar May 10 '19 08:05 gre

@gre Even though I have been reading a lot about Ledger Live supporting all prior derivation paths I am still having trouble getting LL to read my BTC, ETH and Dash transactions AND pull those balances over using a Nano S that was just updated from firmware 1.3.1 to 1.6 to 2.0 firmware yesterday. The only balance that is pulling is LTC. I have sent support requests and started Reddit posts in an attempt to resolve this issue. I'm afraid to send a test transaction as I don't want to create a new path and ruin the ability to retrieve what is already there. If there is a way to roll back the firmware update, maybe this could be a solution? Would the firmware/path issue be resolved if restoring using my seed with a newer device? I have tried restoring from seed on the existing device to no avail. The Nano S I have is from 2017 and was just synchronized yesterday for the first time in over 3 years. I need help.

user11992 avatar Jul 14 '21 04:07 user11992

Not sure how you feel about this,. Using TRUST Wallet, Coimomi and Ledget Live with your issue seed, it should find all ofthem. Also, be sure to go into Ledger Live advance settings and check the box for old advanced derivation search. As there is a particular such setting worded similar to the above. Obviously creating a new seed for transfer may be of interest after such exposure.

cryptopivot avatar Jul 14 '21 14:07 cryptopivot