By this time, you must have heard about cryptocurrency wallets.
If not, then do consider reading our detailed guide here:
But let’s explore what a wallet really is…
Here I will be using the example of Bitcoin as most of you are familiar with it, but this applies to almost all cryptocurrencies and their supporting wallets.
So in short, the place where you have both your Bitcoin address to receive bitcoins and the private key to send/spend bitcoins is called a Bitcoin wallet.
In an even more simplified way, a wallet is a digital file which stores your bitcoins.
- Bitcoin Address + Private Key = Bitcoin Wallet
Since the inception of Bitcoin and other cryptocurrencies, numerous types of wallets have mushroomed. And why not? Wallets are the fundamental user interface through which a person interacts with the cryptocurrency system.
With a simple Bitcoin wallet, you can be your own bank and move across borders without any questions asked.
Isn’t it amazing!?
But this was actually not possible in the early days of Bitcoin when “HD wallets” were not yet there.
Typically, in Bitcoin wallets, a pair of private/public addresses (or keys) is randomly generated. This requires you to take a backup each time you make a new pair of addresses.
However, at the start, you might feel that this process is easy. But slowly, it will become more and more complicated and cumbersome to track/backup so many private/public addresses as the number of your transactions increase.
Moreover, if you are a person who cares about financial privacy and does frequent transactions, then you might need to generate a lot of private/public pair of addresses (or keys).
Which means more backups!
On the other hand, some wallets re-use the same Bitcoin address for all transactions to avoid losses, which can happen from the loss of a backup. This is not a very healthy practice and can compromise your financial privacy.
And that’s why HD wallets were developed under the BIP 32 (aka Bitcoin Improvement Proposal 32).
What are HD (Hierarchical Deterministic) Wallets?
Imagine how easy it would be if there were a mechanism to somehow generate a pattern of public/private keys that couldn’t be guessed and needed no complicated backup.
Well, there is!
Such easy to use wallets are called HD wallets.
HD is an abbreviation for Hierarchical Deterministic. All HD wallets use 12-word master seed keys. Each time this seed is appended by a counter at the end and is used to derive seemingly unlimited new Bitcoin addresses hierarchically and sequentially.
Since all the address are derived from a single master seed, you only need to worry about backing it up. That’s why it is called Hierarchical Deterministic.
What happens inside an HD wallet?
HD wallets generate a hierarchical tree-like structure of keys which start from the seed master key based on BIP 32. When you restore an HD wallet using the seed key, the wallet goes ahead and drives all the private keys of the tree using BIP 32.
And as soon as the scanning of keys is completed on the network…
Ta da! You are done, and your funds are recovered!
While using an HD wallet, the backing up of the seed key is mandatory and should be kept safe so that you can restore your wallet in case your device is lost or damaged.
And this is the beauty of HD wallets. Taking a backup only once means that all subsequent addresses can easily be re-created mathematically from the algorithm. HD wallets use a one-way SHA-256 hash algorithm which produces this tree of keys without any error if the input (or seed key) is the same.
Advantages of HD Wallets
- You need to backup only one key (i.e. “seed key”). It is the only backup you will ever need.
- You can generate many receiving addresses every time you receive bitcoins.
- You can protect your financial privacy.
- Confuse new users, as your receiving address changes every time.
Popular HD Wallets
There are various types of HD wallets available now in the market. Some of them are paid and some are free. Here is the list of the most popular ones:
S.No | Wallet Name | Type of wallet | Available Platforms | Paid/Free | Key Features |
1 | Ledger Nano X | Hardware Wallet | Windows, Mac, Linux | Best buy at $65 | HD Wallet |
2 | Trezor | Hardware Wallet | Windows, Linux, OS X | Best buy at $99 | HD Wallet |
3 | KeepKey | Hardware Wallet | Windows, Mac, Linux | Best buy at $99 | HD Wallet |
4 | Mycelium | Mobile | Android | Free | HD Wallet |
5 | Electrum | Desktop | Windows, OSX, Linux | Free | HD Wallet |
6 | Atomic Wallet | Mobile/Desktop | Windows, Mac, Linux, Debian, Fedora | Free | HD Wallet |
I hope this insight on HD wallets will help you in making the right choice for yourself.
Do let me know which HD wallet you are using for your bitcoins or altcoins in the comments section below.
And if you find this post useful, do share it with your friends on Facebook & Twitter!
For further reading:
Nice article. Due to high demand, hardware wallets are difficult to find in stock most of the times.
Hey Ram,
I would say it is a very wise decision. When you grab hold of your Ledger you may need this introductory video series on Ledger Nano S.
https://www.youtube.com/playlist?list=PL6VI3BgQ4H2Ywi40QIcbDMMR7fGUxEwvY
Hi Sudir,
Great article! A HD wallet can contain multiple private keys of different coins (Bitcoin, Ethereum, etc), am I right?
yeah true.
Also depends upon how many coins that particular HD wallet is supporting.
it was a nice article. but i want to know if i give a new address every time will they be stored in my main original wallet or different wallets and how can i spend them through my wallet.
looking forward to your reply.
thank you.
Your single HD wallet will take care of it all in the background. You can see some of the HD wallets-https://coinsutra.com/best-bitcoin-wallets/
Very very informative. But I do have a question.
1) If there are only 12 words and millions of people eventually creating HD wallets then it seems certain that some people will use the same 12 words and get access to each others private keys. What prevents that?
2) When in recovery mode, how does the algorithm know when to stop generating new keys? Let’s say I used the wallet once and generated one private key. Then I had to recover that key. Will this wallet know to generate only one key? if so then how?
Thank you
1) It doesn’t happen, the combinations are just too many. Please read this for more detailed insights.
2) These hash functions that generate keys are deterministic in nature for a given input. So every time you put the similar seed during recovery you will get same keys. And till 50th key, your wallet will keep checking for balances and if it hasn’t found it till that time, it will calculate more keys.
Hope this helps:)
Hi Sudhir. I was also confused by who chooses the seed – the user or the software. I read many conflicting blogs and even the BIP was not that clear to me. But I found what I think was the best explination here: http://ledger.readthedocs.io/en/latest/background/master_seed.html
This makes it clear that the software chooses the words. I assume that all other HD wallets do something similar but I know that some use less seed words.
Hi
nice article
what will happen if i enter an HD public key into a wallet which doesn’t support the HD?
thanks
It should reflect independently. Which wallet?
If Buyer defaults payment, is there any chance with multi HD wallet that I can recover my BTC from the defaulted Buyer?
Thanks.
Let’s take the example of Exodus, an HD wallet if we activate the “Multiple addresses” property.
Suppose a friend sends me Bitcoin today to my current receiving address. This will cause a change of address.
Suppose now that this friend makes a new Btc sending 2 weeks later using the same destination address as during his first Btc sending. I assume that Exodus will be able to correctly receive this second Btc sending even if the address has changed since then.
Right?
Hey @Yaln
That’s correct.