As we all know unlike traditional currencies cryptocurrencies are not in physical form. Cryptocurrencies are not even digital coins. It is the record of transactions done by each and every person on the Blockchain network. For example, if Alice and Bob are on the blockchain network. The network holds a record for both users that is how much crypto tokens each one of them owns. If Alice sends 5 bitcoins to Bob then 5 bitcoins deducts from Alice’s record and adds to Bob’s record.
For performing transactions, every user is provided with Wallet which consists keypair of Public Address and Private key. Each address can only be associated with the respected private key. The public address key is used to receive transactions and the private key is used to send transactions. Access to private key means access to funds. Basically, all your funds are stored in private key. On bitcoin or other cryptocurrencies network you can use your private key and address only once.
In traditional approach of creating crypto wallets, wallet keypairs are generated randomly. In this case, whenever a user performs a transaction he needs to take backup of his private key, losing the hardware where the keys are stored means losing of funds. This traditional approach is full of risk and is time taking.
To overcome it, Pieter Wuille of Satoshilabs wrote Bitcoin Improvement Proposal 0032 (BIP32) for creating Hierarchical Deterministic Wallets. In this approach, A seed is taken, it can be the randomly generated string. Processing it with the BIP32 algorithm allows the creation of unlimited wallet keypairs using the string. It is advised to store the seed in cold storage. In case, if a user loses his drive where all the private keys are stored, he still can generate the same private keys using the seed.
Let’s understand by example. Suppose, Bob is using HD wallet to generate keys. His seed is been stored in cold storage let’s say on paper. Bob has performed 3 bitcoin transactions his private keys are stored on his personal computer. Now, something bad happened and his computer destroyed. If Bob was using the traditional wallet approach he could have lost all of his funds by now but as Bob using HD wallets approach he still can create the respected private keys with the seed he’s previously stored on the paper. That means Bob still have access to his funds if the keys are gone.
Most exchanges and wallets are using Hierarchical Deterministic wallets nowadays. BIP32 further improved in BIP38 and BIP44. BIP32 propose to generate random mnemonic seeds and BIP44 allows creating wallets with ‘purpose index’ feature. BIP44 also allows generating wallets for 150+ currencies.