Why does BIP32 use the derivation path m/0'/0'/k' by default? What is the significance of this particular path, and why not just use m/k' or m/k directly?
1 Answer
The tree structure is used for organizing the keys you generate. Its just a suggested way to do it. The first number is the account, in this case account 0 (the default account). This let's you support multiple separate accounts with keys of their own. Then you have the chain, either 0 or 1. 0 is the external keypair chain, and is used for generating new public addresses. 1 is the internal keychain and is used for things like change addresses - the addresses you don't give out to people (hence 'internal'). Finally the k is obviously used to generate the k-th keypair for account and keychain you've picked.
-
Thank you for your response. One query : Why we need chain? What is chain? and why it is either 0 or 1 only? It has 2 Billion possibility No? Same as Account. Jul 13, 2017 at 9:24
-
1As I said, chain is used to separate the external keypairs from those used internally. Account is just to organise different keys if you have different accounts or use-cases or whatever, I think its kind of self explanatory. This is just a suggested structure, you can choose your own way to organise keys if you want to, but having a guideline is best for compatibility between implementations– meshcollider ♦Jul 13, 2017 at 9:33