I have read man resources and questions about HD Wallets. As pointed out in this question on SO, it won't be possible to send funds of a derived child address using the master private key.

In my humble opinion exactly this would make sense if I could create a derived child to receive funds for a specific purpose but being able to spend these funds using my master private key without the need to store each child private key.

Do I miss something here? Why should I use HD wallets if I still need to store each single local private key as well?

The answer you linked isn't wrong; you just stopped reading too soon.

Transactions aren't signed by the master private key itself; they are signed by the child private keys. But those child private keys were generated from the master private key. So it's true that all you really need to store is the master private key.

If you have the master private key, and you want to sign a transaction, you don't sign it with the master private key directly. Rather, you first use the master private key to regenerate child private keys until you find the one that matches the address you want to spend from. Then you use this child private key to sign the transaction.

For day-to-day use, it is convenient to store the child private key after generating it, so that you don't have to go to the trouble of regenerating it each time. But for backups, all you really need to save is the master private key.

  • 2
    "But for backups, all you really need to save is the master private key." Or the precursor to the master private key i.e. the seed mnemonic. – Abdussamad Sep 14 at 14:29

Do I miss something here? Why should I use HD wallets if I still need to store each single local private key as well?

Before HD wallets, if you wanted to backup your keys, you would have to make a backup after each and every transaction which is obviously annoying/time-consuming.

With HD wallets you only have to backup your seed once. Each key can be recreated deterministically from the seed and the derivation path (you dont have to store individual keys).

The main purpose of HD wallets is to store multiple cryptocurrency addresses. You can have both Ethereum and Bitcoin address in the same HD wallet. You do not need to save the private keys of each child address. All you need to do is to memorize or save the mnemonic words somewhere safe. You can easily recover the private key for your address using your mnemonic words.

https://www.coinomi.com/recovery-phrase-tool.html

The above link comes handy if you want to recover all your Ethereum and Bitcoin address and its corresponding private keys from your mnemonic words.

  • Does this mean that the marked answer of the quoted SO-question is wrong? – delete Sep 14 at 11:43
  • 1
    The main purpose is to make backups easier not to support multiple cryptocurrencies in one wallet – Abdussamad Sep 14 at 14:27

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.