Can someone explain the meaning of derivation path in wallet in plain English (such as m/44'/60'/0'/0)? ...

Map material from china not allowed to leave the country

Israeli soda type drink

How to get even lighting when using flash for group photos near wall?

Trumpet valves, lengths, and pitch

What do you call the part of a novel that is not dialog?

Can I criticise the more senior developers around me for not writing clean code?

Multiple options vs single option UI

Where did Arya get these scars?

Putting Ant-Man on house arrest

How to count in linear time worst-case?

c++ diamond problem - How to call base method only once

All ASCII characters with a given bit count

What's the difference between using dependency injection with a container and using a service locator?

Married in secret, can marital status in passport be changed at a later date?

Why did Israel vote against lifting the American embargo on Cuba?

How do I check if a string is entirely made of the same substring?

Protagonist's race is hidden - should I reveal it?

"My boss was furious with me and I have been fired" vs. "My boss was furious with me and I was fired"

Has a Nobel Peace laureate ever been accused of war crimes?

Justification for leaving new position after a short time

Can you stand up from being prone using Skirmisher outside of your turn?

What if Force was not Mass times Acceleration?

"Rubric" as meaning "signature" or "personal mark" -- is this accepted usage?

Is there any hidden 'W' sound after 'comment' in : Comment est-elle?



Can someone explain the meaning of derivation path in wallet in plain English (such as m/44'/60'/0'/0)?



Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar ManaraSeparated ETH/ETC but how to transfer remaining ETC?How can I access my ETC Wallet? (Ubuntu 14.04)Difference between Main Account and Account 1My wallet is empty and I get this strange repeating message when running Ether in the TerminalrawTransaction and contractAddressExplain the multi-sig wallet loss by deletion of “code”?Ethereum wallet address creation limit and ether storage limit/capacity per addressI am kind of new to ethereum, but can someone explain me difference between metamask accounts and geth account newUsage of the account part of a derivation path to generate Ethereum addresseshow to generate ethereum address from mnemonic and derivation path without using ethereumjs-wallet npm package?












3















Like m / purpose' / coin_type' / account' / change / address_index
which gives say a value of m/44'/60'/0'/0



What is the meaning of "m", purpose, coin type, etc.










share|improve this question







New contributor




vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    3















    Like m / purpose' / coin_type' / account' / change / address_index
    which gives say a value of m/44'/60'/0'/0



    What is the meaning of "m", purpose, coin type, etc.










    share|improve this question







    New contributor




    vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      3












      3








      3


      1






      Like m / purpose' / coin_type' / account' / change / address_index
      which gives say a value of m/44'/60'/0'/0



      What is the meaning of "m", purpose, coin type, etc.










      share|improve this question







      New contributor




      vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      Like m / purpose' / coin_type' / account' / change / address_index
      which gives say a value of m/44'/60'/0'/0



      What is the meaning of "m", purpose, coin type, etc.







      wallets hd-wallets bip39






      share|improve this question







      New contributor




      vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 18 hours ago









      vyap56vyap56

      161




      161




      New contributor




      vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      vyap56 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          2














          Such a great question.



          Background



          Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / addresses / private keys across any supported network. These phrases typically look like brain surround have swap horror body response double fire dumb bring hazard.



          The technical specification for the most commonly used HD wallets are...





          • BIP-32 - HD wallets specification


          • BIP-39 - the mnemonic phrase / word list / etc. piece of this puzzle.


          • BIP-44 - the derivation path stuff / algorithms.


          Typically you have a single private key (e.g. afdfd9c3d2095ef696594f6cedcae59e72dcd697e2a7521b1578140422a4f890) which allows you to access your funds in it's matching address (e.g. 0x06A85356DCb5b307096726FB86A78c59D38e08ee). This is a keypair.



          With HD wallets you have a single seed phrase (e.g. brain surround have swap horror body response double fire dumb bring hazard) which, via math and algorithms and code and stuff, derives multiple keypairs. An infinite number of keypairs.



          Additionally, there is an insecure format of wallet known as a "brain wallet" where a person can use a single, human-readable phrase and, via math and algorithms and code and stuff, turns into a single keypair.



          Okay, but wtf about derivation paths?



          Brain wallets allow you to turn dogsarecool12 or brain surround have swap horror body response double fire dumb bring hazard into a single private key which is then used to access your funds and sign your transactions.



          For simplicity's sake, lets represent this as




          seed phrase => private key




          If I were to use catsarecool10 instead of dogsarecool12 as my phrase, I would get a different keypair, different address, different account.



          HD wallets are similar, but each phrase has an infinite number of keypairs or accounts that it can access. Because, unlike brain wallets, it does more complex math. For simplicity's sake, let's represent this as




          seed phrase + XYZ + 🍎 + ABC + & + 1 => private key




          If you change any one of those pieces, the private key that you get (or derive) is is going to be different, just as it was above with catsarecool10 vs dogsarecool12. However, since all the coders follow the same rules, the pieces that get added to the seed phrase are consistent and allow users to access the same accounts across multiple products or blockchains.



          These pieces are the "derviation path"



          It's the






          • XYZ + 🍎 + ABC + & + 1




          part of it.



          The actual derivation path pieces



          Full path: m/44'/60'/0'/0'/0



          What each number represents: m / purpose' / coin_type' / account' / change / address_index




          m/




          Probably just a random way to start a string so that coders can easily tell if something is a derivation path, not you starting to type "mommy".




          44' (purpose)




          This is always 44'. However, if it were decided that there were a better evolution of the HD key system, you could change it to be 45' so that, again, coders could tell the difference between an old system and a new system.




          60' (coin type)




          Which blockchain are you accessing? Each blockchain has a number that represents it. Bitcoin is 0. Ethereum is 60. Aion is 425. When you create a new blockchain, you apply for an unused number. You can see all the chains and their numbers here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md




          0' (account)




          A number that starts at 0 and increases. A layer of separation or hierarchy. (more on that below)




          0 (change)`




          Sometimes used in Ethereum, sometimes not. Was created for Bitcoin originally which doesn't really have "accounts", it has "unspent transaction outputs". Basically you never send a part of your bitcoin holdings around—you send all your bitcoin to multiple addresses. If you have 0.75 BTC but only want to send me 0.5 BTC, you would send me 0.5 BTC and then send yourself 0.25 BTC. "Yourself" could be back to the original address or to another address you have access to (for example, the next address on the "list"). This number says "send whatever I don't want to send to my friend to the 10th address on my list. Or the 0th address on the list (aka the address I am sending from).




          0' (index)




          Another variable to get different accounts, etc.



          Seperation and Hierarchy



          Some of the variables above are based on external forces, like what chain I am on. Some are chosen by the user or the wallet software, like the change variable. The account and index variables give me (or my wallet) more things to change.



          For example, let's say I want to separate my personal ETH holdings from my company's ETH holdings. I could use m/44'/60'/0'/0'/0 for the company and m/44'/60'/1'/0'/0 for my personal.



          But let's say I want to have different addresses for...




          • my personal savings

          • where I receive my paycheck each week

          • when I personally getting paid back by friends

          • displaying publicly on my personal github for donations

          • all my personal school expenses


          I could use m/44'/60'/1'/0'/0 for savings, m/44'/60'/1'/0'/1 for paychecks, m/44'/60'/1'/0'/2 for getting paid back by my friend, and so forth. I could also do the same with the company accounts. Yay!






          share|improve this answer
























          • What's with the usage of ' character in derivation paths?

            – Mikko Ohtamaa
            14 hours ago












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "642"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          vyap56 is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f70017%2fcan-someone-explain-the-meaning-of-derivation-path-in-wallet-in-plain-english-s%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          Such a great question.



          Background



          Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / addresses / private keys across any supported network. These phrases typically look like brain surround have swap horror body response double fire dumb bring hazard.



          The technical specification for the most commonly used HD wallets are...





          • BIP-32 - HD wallets specification


          • BIP-39 - the mnemonic phrase / word list / etc. piece of this puzzle.


          • BIP-44 - the derivation path stuff / algorithms.


          Typically you have a single private key (e.g. afdfd9c3d2095ef696594f6cedcae59e72dcd697e2a7521b1578140422a4f890) which allows you to access your funds in it's matching address (e.g. 0x06A85356DCb5b307096726FB86A78c59D38e08ee). This is a keypair.



          With HD wallets you have a single seed phrase (e.g. brain surround have swap horror body response double fire dumb bring hazard) which, via math and algorithms and code and stuff, derives multiple keypairs. An infinite number of keypairs.



          Additionally, there is an insecure format of wallet known as a "brain wallet" where a person can use a single, human-readable phrase and, via math and algorithms and code and stuff, turns into a single keypair.



          Okay, but wtf about derivation paths?



          Brain wallets allow you to turn dogsarecool12 or brain surround have swap horror body response double fire dumb bring hazard into a single private key which is then used to access your funds and sign your transactions.



          For simplicity's sake, lets represent this as




          seed phrase => private key




          If I were to use catsarecool10 instead of dogsarecool12 as my phrase, I would get a different keypair, different address, different account.



          HD wallets are similar, but each phrase has an infinite number of keypairs or accounts that it can access. Because, unlike brain wallets, it does more complex math. For simplicity's sake, let's represent this as




          seed phrase + XYZ + 🍎 + ABC + & + 1 => private key




          If you change any one of those pieces, the private key that you get (or derive) is is going to be different, just as it was above with catsarecool10 vs dogsarecool12. However, since all the coders follow the same rules, the pieces that get added to the seed phrase are consistent and allow users to access the same accounts across multiple products or blockchains.



          These pieces are the "derviation path"



          It's the






          • XYZ + 🍎 + ABC + & + 1




          part of it.



          The actual derivation path pieces



          Full path: m/44'/60'/0'/0'/0



          What each number represents: m / purpose' / coin_type' / account' / change / address_index




          m/




          Probably just a random way to start a string so that coders can easily tell if something is a derivation path, not you starting to type "mommy".




          44' (purpose)




          This is always 44'. However, if it were decided that there were a better evolution of the HD key system, you could change it to be 45' so that, again, coders could tell the difference between an old system and a new system.




          60' (coin type)




          Which blockchain are you accessing? Each blockchain has a number that represents it. Bitcoin is 0. Ethereum is 60. Aion is 425. When you create a new blockchain, you apply for an unused number. You can see all the chains and their numbers here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md




          0' (account)




          A number that starts at 0 and increases. A layer of separation or hierarchy. (more on that below)




          0 (change)`




          Sometimes used in Ethereum, sometimes not. Was created for Bitcoin originally which doesn't really have "accounts", it has "unspent transaction outputs". Basically you never send a part of your bitcoin holdings around—you send all your bitcoin to multiple addresses. If you have 0.75 BTC but only want to send me 0.5 BTC, you would send me 0.5 BTC and then send yourself 0.25 BTC. "Yourself" could be back to the original address or to another address you have access to (for example, the next address on the "list"). This number says "send whatever I don't want to send to my friend to the 10th address on my list. Or the 0th address on the list (aka the address I am sending from).




          0' (index)




          Another variable to get different accounts, etc.



          Seperation and Hierarchy



          Some of the variables above are based on external forces, like what chain I am on. Some are chosen by the user or the wallet software, like the change variable. The account and index variables give me (or my wallet) more things to change.



          For example, let's say I want to separate my personal ETH holdings from my company's ETH holdings. I could use m/44'/60'/0'/0'/0 for the company and m/44'/60'/1'/0'/0 for my personal.



          But let's say I want to have different addresses for...




          • my personal savings

          • where I receive my paycheck each week

          • when I personally getting paid back by friends

          • displaying publicly on my personal github for donations

          • all my personal school expenses


          I could use m/44'/60'/1'/0'/0 for savings, m/44'/60'/1'/0'/1 for paychecks, m/44'/60'/1'/0'/2 for getting paid back by my friend, and so forth. I could also do the same with the company accounts. Yay!






          share|improve this answer
























          • What's with the usage of ' character in derivation paths?

            – Mikko Ohtamaa
            14 hours ago
















          2














          Such a great question.



          Background



          Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / addresses / private keys across any supported network. These phrases typically look like brain surround have swap horror body response double fire dumb bring hazard.



          The technical specification for the most commonly used HD wallets are...





          • BIP-32 - HD wallets specification


          • BIP-39 - the mnemonic phrase / word list / etc. piece of this puzzle.


          • BIP-44 - the derivation path stuff / algorithms.


          Typically you have a single private key (e.g. afdfd9c3d2095ef696594f6cedcae59e72dcd697e2a7521b1578140422a4f890) which allows you to access your funds in it's matching address (e.g. 0x06A85356DCb5b307096726FB86A78c59D38e08ee). This is a keypair.



          With HD wallets you have a single seed phrase (e.g. brain surround have swap horror body response double fire dumb bring hazard) which, via math and algorithms and code and stuff, derives multiple keypairs. An infinite number of keypairs.



          Additionally, there is an insecure format of wallet known as a "brain wallet" where a person can use a single, human-readable phrase and, via math and algorithms and code and stuff, turns into a single keypair.



          Okay, but wtf about derivation paths?



          Brain wallets allow you to turn dogsarecool12 or brain surround have swap horror body response double fire dumb bring hazard into a single private key which is then used to access your funds and sign your transactions.



          For simplicity's sake, lets represent this as




          seed phrase => private key




          If I were to use catsarecool10 instead of dogsarecool12 as my phrase, I would get a different keypair, different address, different account.



          HD wallets are similar, but each phrase has an infinite number of keypairs or accounts that it can access. Because, unlike brain wallets, it does more complex math. For simplicity's sake, let's represent this as




          seed phrase + XYZ + 🍎 + ABC + & + 1 => private key




          If you change any one of those pieces, the private key that you get (or derive) is is going to be different, just as it was above with catsarecool10 vs dogsarecool12. However, since all the coders follow the same rules, the pieces that get added to the seed phrase are consistent and allow users to access the same accounts across multiple products or blockchains.



          These pieces are the "derviation path"



          It's the






          • XYZ + 🍎 + ABC + & + 1




          part of it.



          The actual derivation path pieces



          Full path: m/44'/60'/0'/0'/0



          What each number represents: m / purpose' / coin_type' / account' / change / address_index




          m/




          Probably just a random way to start a string so that coders can easily tell if something is a derivation path, not you starting to type "mommy".




          44' (purpose)




          This is always 44'. However, if it were decided that there were a better evolution of the HD key system, you could change it to be 45' so that, again, coders could tell the difference between an old system and a new system.




          60' (coin type)




          Which blockchain are you accessing? Each blockchain has a number that represents it. Bitcoin is 0. Ethereum is 60. Aion is 425. When you create a new blockchain, you apply for an unused number. You can see all the chains and their numbers here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md




          0' (account)




          A number that starts at 0 and increases. A layer of separation or hierarchy. (more on that below)




          0 (change)`




          Sometimes used in Ethereum, sometimes not. Was created for Bitcoin originally which doesn't really have "accounts", it has "unspent transaction outputs". Basically you never send a part of your bitcoin holdings around—you send all your bitcoin to multiple addresses. If you have 0.75 BTC but only want to send me 0.5 BTC, you would send me 0.5 BTC and then send yourself 0.25 BTC. "Yourself" could be back to the original address or to another address you have access to (for example, the next address on the "list"). This number says "send whatever I don't want to send to my friend to the 10th address on my list. Or the 0th address on the list (aka the address I am sending from).




          0' (index)




          Another variable to get different accounts, etc.



          Seperation and Hierarchy



          Some of the variables above are based on external forces, like what chain I am on. Some are chosen by the user or the wallet software, like the change variable. The account and index variables give me (or my wallet) more things to change.



          For example, let's say I want to separate my personal ETH holdings from my company's ETH holdings. I could use m/44'/60'/0'/0'/0 for the company and m/44'/60'/1'/0'/0 for my personal.



          But let's say I want to have different addresses for...




          • my personal savings

          • where I receive my paycheck each week

          • when I personally getting paid back by friends

          • displaying publicly on my personal github for donations

          • all my personal school expenses


          I could use m/44'/60'/1'/0'/0 for savings, m/44'/60'/1'/0'/1 for paychecks, m/44'/60'/1'/0'/2 for getting paid back by my friend, and so forth. I could also do the same with the company accounts. Yay!






          share|improve this answer
























          • What's with the usage of ' character in derivation paths?

            – Mikko Ohtamaa
            14 hours ago














          2












          2








          2







          Such a great question.



          Background



          Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / addresses / private keys across any supported network. These phrases typically look like brain surround have swap horror body response double fire dumb bring hazard.



          The technical specification for the most commonly used HD wallets are...





          • BIP-32 - HD wallets specification


          • BIP-39 - the mnemonic phrase / word list / etc. piece of this puzzle.


          • BIP-44 - the derivation path stuff / algorithms.


          Typically you have a single private key (e.g. afdfd9c3d2095ef696594f6cedcae59e72dcd697e2a7521b1578140422a4f890) which allows you to access your funds in it's matching address (e.g. 0x06A85356DCb5b307096726FB86A78c59D38e08ee). This is a keypair.



          With HD wallets you have a single seed phrase (e.g. brain surround have swap horror body response double fire dumb bring hazard) which, via math and algorithms and code and stuff, derives multiple keypairs. An infinite number of keypairs.



          Additionally, there is an insecure format of wallet known as a "brain wallet" where a person can use a single, human-readable phrase and, via math and algorithms and code and stuff, turns into a single keypair.



          Okay, but wtf about derivation paths?



          Brain wallets allow you to turn dogsarecool12 or brain surround have swap horror body response double fire dumb bring hazard into a single private key which is then used to access your funds and sign your transactions.



          For simplicity's sake, lets represent this as




          seed phrase => private key




          If I were to use catsarecool10 instead of dogsarecool12 as my phrase, I would get a different keypair, different address, different account.



          HD wallets are similar, but each phrase has an infinite number of keypairs or accounts that it can access. Because, unlike brain wallets, it does more complex math. For simplicity's sake, let's represent this as




          seed phrase + XYZ + 🍎 + ABC + & + 1 => private key




          If you change any one of those pieces, the private key that you get (or derive) is is going to be different, just as it was above with catsarecool10 vs dogsarecool12. However, since all the coders follow the same rules, the pieces that get added to the seed phrase are consistent and allow users to access the same accounts across multiple products or blockchains.



          These pieces are the "derviation path"



          It's the






          • XYZ + 🍎 + ABC + & + 1




          part of it.



          The actual derivation path pieces



          Full path: m/44'/60'/0'/0'/0



          What each number represents: m / purpose' / coin_type' / account' / change / address_index




          m/




          Probably just a random way to start a string so that coders can easily tell if something is a derivation path, not you starting to type "mommy".




          44' (purpose)




          This is always 44'. However, if it were decided that there were a better evolution of the HD key system, you could change it to be 45' so that, again, coders could tell the difference between an old system and a new system.




          60' (coin type)




          Which blockchain are you accessing? Each blockchain has a number that represents it. Bitcoin is 0. Ethereum is 60. Aion is 425. When you create a new blockchain, you apply for an unused number. You can see all the chains and their numbers here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md




          0' (account)




          A number that starts at 0 and increases. A layer of separation or hierarchy. (more on that below)




          0 (change)`




          Sometimes used in Ethereum, sometimes not. Was created for Bitcoin originally which doesn't really have "accounts", it has "unspent transaction outputs". Basically you never send a part of your bitcoin holdings around—you send all your bitcoin to multiple addresses. If you have 0.75 BTC but only want to send me 0.5 BTC, you would send me 0.5 BTC and then send yourself 0.25 BTC. "Yourself" could be back to the original address or to another address you have access to (for example, the next address on the "list"). This number says "send whatever I don't want to send to my friend to the 10th address on my list. Or the 0th address on the list (aka the address I am sending from).




          0' (index)




          Another variable to get different accounts, etc.



          Seperation and Hierarchy



          Some of the variables above are based on external forces, like what chain I am on. Some are chosen by the user or the wallet software, like the change variable. The account and index variables give me (or my wallet) more things to change.



          For example, let's say I want to separate my personal ETH holdings from my company's ETH holdings. I could use m/44'/60'/0'/0'/0 for the company and m/44'/60'/1'/0'/0 for my personal.



          But let's say I want to have different addresses for...




          • my personal savings

          • where I receive my paycheck each week

          • when I personally getting paid back by friends

          • displaying publicly on my personal github for donations

          • all my personal school expenses


          I could use m/44'/60'/1'/0'/0 for savings, m/44'/60'/1'/0'/1 for paychecks, m/44'/60'/1'/0'/2 for getting paid back by my friend, and so forth. I could also do the same with the company accounts. Yay!






          share|improve this answer













          Such a great question.



          Background



          Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / addresses / private keys across any supported network. These phrases typically look like brain surround have swap horror body response double fire dumb bring hazard.



          The technical specification for the most commonly used HD wallets are...





          • BIP-32 - HD wallets specification


          • BIP-39 - the mnemonic phrase / word list / etc. piece of this puzzle.


          • BIP-44 - the derivation path stuff / algorithms.


          Typically you have a single private key (e.g. afdfd9c3d2095ef696594f6cedcae59e72dcd697e2a7521b1578140422a4f890) which allows you to access your funds in it's matching address (e.g. 0x06A85356DCb5b307096726FB86A78c59D38e08ee). This is a keypair.



          With HD wallets you have a single seed phrase (e.g. brain surround have swap horror body response double fire dumb bring hazard) which, via math and algorithms and code and stuff, derives multiple keypairs. An infinite number of keypairs.



          Additionally, there is an insecure format of wallet known as a "brain wallet" where a person can use a single, human-readable phrase and, via math and algorithms and code and stuff, turns into a single keypair.



          Okay, but wtf about derivation paths?



          Brain wallets allow you to turn dogsarecool12 or brain surround have swap horror body response double fire dumb bring hazard into a single private key which is then used to access your funds and sign your transactions.



          For simplicity's sake, lets represent this as




          seed phrase => private key




          If I were to use catsarecool10 instead of dogsarecool12 as my phrase, I would get a different keypair, different address, different account.



          HD wallets are similar, but each phrase has an infinite number of keypairs or accounts that it can access. Because, unlike brain wallets, it does more complex math. For simplicity's sake, let's represent this as




          seed phrase + XYZ + 🍎 + ABC + & + 1 => private key




          If you change any one of those pieces, the private key that you get (or derive) is is going to be different, just as it was above with catsarecool10 vs dogsarecool12. However, since all the coders follow the same rules, the pieces that get added to the seed phrase are consistent and allow users to access the same accounts across multiple products or blockchains.



          These pieces are the "derviation path"



          It's the






          • XYZ + 🍎 + ABC + & + 1




          part of it.



          The actual derivation path pieces



          Full path: m/44'/60'/0'/0'/0



          What each number represents: m / purpose' / coin_type' / account' / change / address_index




          m/




          Probably just a random way to start a string so that coders can easily tell if something is a derivation path, not you starting to type "mommy".




          44' (purpose)




          This is always 44'. However, if it were decided that there were a better evolution of the HD key system, you could change it to be 45' so that, again, coders could tell the difference between an old system and a new system.




          60' (coin type)




          Which blockchain are you accessing? Each blockchain has a number that represents it. Bitcoin is 0. Ethereum is 60. Aion is 425. When you create a new blockchain, you apply for an unused number. You can see all the chains and their numbers here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md




          0' (account)




          A number that starts at 0 and increases. A layer of separation or hierarchy. (more on that below)




          0 (change)`




          Sometimes used in Ethereum, sometimes not. Was created for Bitcoin originally which doesn't really have "accounts", it has "unspent transaction outputs". Basically you never send a part of your bitcoin holdings around—you send all your bitcoin to multiple addresses. If you have 0.75 BTC but only want to send me 0.5 BTC, you would send me 0.5 BTC and then send yourself 0.25 BTC. "Yourself" could be back to the original address or to another address you have access to (for example, the next address on the "list"). This number says "send whatever I don't want to send to my friend to the 10th address on my list. Or the 0th address on the list (aka the address I am sending from).




          0' (index)




          Another variable to get different accounts, etc.



          Seperation and Hierarchy



          Some of the variables above are based on external forces, like what chain I am on. Some are chosen by the user or the wallet software, like the change variable. The account and index variables give me (or my wallet) more things to change.



          For example, let's say I want to separate my personal ETH holdings from my company's ETH holdings. I could use m/44'/60'/0'/0'/0 for the company and m/44'/60'/1'/0'/0 for my personal.



          But let's say I want to have different addresses for...




          • my personal savings

          • where I receive my paycheck each week

          • when I personally getting paid back by friends

          • displaying publicly on my personal github for donations

          • all my personal school expenses


          I could use m/44'/60'/1'/0'/0 for savings, m/44'/60'/1'/0'/1 for paychecks, m/44'/60'/1'/0'/2 for getting paid back by my friend, and so forth. I could also do the same with the company accounts. Yay!







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 16 hours ago









          tayvanotayvano

          12.2k43367




          12.2k43367













          • What's with the usage of ' character in derivation paths?

            – Mikko Ohtamaa
            14 hours ago



















          • What's with the usage of ' character in derivation paths?

            – Mikko Ohtamaa
            14 hours ago

















          What's with the usage of ' character in derivation paths?

          – Mikko Ohtamaa
          14 hours ago





          What's with the usage of ' character in derivation paths?

          – Mikko Ohtamaa
          14 hours ago










          vyap56 is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          vyap56 is a new contributor. Be nice, and check out our Code of Conduct.













          vyap56 is a new contributor. Be nice, and check out our Code of Conduct.












          vyap56 is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Ethereum Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f70017%2fcan-someone-explain-the-meaning-of-derivation-path-in-wallet-in-plain-english-s%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          VNC viewer RFB protocol error: bad desktop size 0x0I Cannot Type the Key 'd' (lowercase) in VNC Viewer...

          Tribunal Administrativo e Fiscal de Mirandela Referências Menu de...

          looking for continuous Screen Capture for retroactivly reproducing errors, timeback machineRolling desktop...