Understanding Ethereum HD Derivation Paths: m/44’/60’/0’/0 vs. m/44’/60’/0′

Ethereum, the second-largest blockchain platform, has seen a surge in popularity due to its smart contract capabilities. With this rise, the need for secure storage of Ether (ETH) and ERC-20 tokens has become paramount. Hardware wallets, combined with Hierarchical Deterministic (HD) paths, offer a robust solution. In this article, we'll delve deep into two commonly used HD derivation paths in Ethereum and understand their significance.

What is an HD Derivation Path?

In the realm of cryptocurrencies, an HD derivation path is a rule that dictates how individual addresses are derived from a single master seed. This master seed is crucial as it can regenerate all associated addresses and private keys. The path provides a structured way to create and manage multiple addresses from a single seed, enhancing security and organization.

The Two Common Paths: m/44'/60'/0'/0 and m/44'/60'/0'

When integrating MyEtherWallet with a hardware wallet, users often encounter a dropdown to select the HD derivation path. The default is typically m/44'/60'/0'/0. However, some wallets, like Ledger, use m/44'/60'/0'. At first glance, these paths might seem similar, but there's a subtle difference.

m/44’/60’/0’/0

This path adheres to the BIP44 specification. The structure is defined as:

Bash
m / purpose' / coin_type' / account' / change / address_index

Here:

  • purpose': Always set to 44', indicating BIP44.
  • coin_type': Set to 60', representing Ethereum.
  • account': Denotes the account number.
  • change: Differentiates between external and internal addresses. 0 is for external (receiving payments), and 1 is for internal (change addresses).
  • address_index: The index of the address.

m/44'/60'/0'

This path is almost identical to BIP44, with one exception: the change path isn't used. Essentially, this means that the wallet doesn't differentiate between external and internal addresses.

Why the Difference?

The derivation path is defined by individual wallets. It's a rule about how they generate your wallet from the master seed. The absence of a standard for Ethereum wallets has led to variations. Some wallets prefer the BIP44 structure, while others find the change index unnecessary due to Ethereum's account model.

Interestingly, Ledger is now transitioning to the BIP 44 derivation path: m/44'/60'/x'/0/0. This move further emphasizes the need for a standardized approach.

Conclusion

Understanding HD derivation paths is crucial for Ethereum users, especially those using hardware wallets. While m/44'/60'/0'/0 and m/44'/60'/0' are the most common, it's essential to know the difference and ensure compatibility when migrating wallets.

FAQs

1. What is the primary difference between m/44'/60'/0'/0 and m/44'/60'/0'?

  • The main difference lies in the change path. The former uses it, while the latter doesn't.

2. Why do some wallets not use the change path?

  • Some wallets find the change index unnecessary due to Ethereum's account model.

3. Is one path better than the other?

  • Neither path is inherently superior. It depends on the wallet's preference and the user's needs.

4. Can I migrate my wallet using a different derivation path?

  • Yes, but ensure compatibility. Using a different derivation rule might result in not seeing your original addresses and balance.

Author