Skip to content
This repository has been archived by the owner on Sep 8, 2020. It is now read-only.

Fix BIP 32 derivation path to conform to BIP 44 #7

Open
mmazi opened this issue Jan 3, 2017 · 4 comments
Open

Fix BIP 32 derivation path to conform to BIP 44 #7

mmazi opened this issue Jan 3, 2017 · 4 comments

Comments

@mmazi
Copy link

mmazi commented Jan 3, 2017

It seems the app uses m/44'/60'/0'/0 as the only address it supports (no HD support currently), whereas as per BIP 44 the addresses used should be one level deeper, i.e.

m/44'/60'/0'/0/0
m/44'/60'/0'/0/1
m/44'/60'/0'/0/2
etc.

A consequence of this is that myetherwallet.com also use the incorrect path m/44'/60'/0' as the parent from which they derive child addresses for Ledger Wallets (they use the correct path m/44'/60'/0'/0 for other types of wallets like mnemonic seeds).

@btchip
Copy link

btchip commented Jan 3, 2017

The problem IMHO is that BIP 44 refers to Bitcoin and makes little sense in an Ethereum context, given that change addresses do not exist. It'd be interesting to know if all other deterministic Ethereum wallet use it that way, or have their own EIP. The closest I could find is that one ethereum/EIPs#84 where the discussing doesn't seem to be finalized yet.

@junderw
Copy link

junderw commented May 25, 2017

I agree with this.

Jaxx uses the BIP44 derivation (leaving the change address layer in there) so from the "you can recover your funds on other wallets in an emergency when your ledger breaks" situation, adding the extra 0 layer to match with Jaxx would be a good idea imo...

@BlinkyStitt
Copy link

It would be helpful if the "Ledger Wallet Ethereum" chrome allowed choosing the HD derivation path. I am moving from Trezor to Ledger and so my funds are already at m/44'/60'/0'/0

I understand that changing the path could cause a lot of users to freak out, but it should at least be an option.

For now, I will use https://www.myetherwallet.com/ which allows setting my correct path.

@BlinkyStitt
Copy link

BlinkyStitt commented Nov 28, 2017

Looking into this some more, I think the proper place to fix this is actually in the ledger app instead of the chrome app.

EDIT: actually no. I think it does need to be here.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants