What is a Deterministic Wallet?

There are lots of different Bitcoin wallets or clients that allow you to send, receive and manage your bitcoins. A deterministic wallet is a newer type of bitcoin wallet. Let’s see what features it has.

Deterministic wallets are those where private keys are derived from a single “seed”. The seed is a random number that is generated when the wallet is first run. All private keys and corresponding bitcoin addresses are derived from that seed.

Two examples of deterministic wallets are Electrum and Armory. Electrum represents its seed as 12 English words while Armory generates two numbers called a root key and a chain code.

Advantages and Disadvantages

The advantage of deterministic wallets is that the user only has to backup the seed once and he can recover his entire wallet at any time in the future. The disadvantage is that if the seed is compromised the entire wallet can be emptied out.

Experience has shown bitcoin developers and users that most bitcoins are lost, not because the user’s wallets were hacked or stolen by malicious individuals, but because of hardware failure, accidental file deletions, forgotten passwords or other such problems. Because of this we are seeing an increasing migration towards deterministic wallets because these can be recovered easily just by entering the seed. Even the reference client (bitcoin-qt) is moving towards that.

Deterministic wallets have another feature that is useful for ecommerce. Taking Electrum as an example, given the Master Public Key (MPK) of a wallet you can generate all the bitcoin addresses of that wallet but not the corresponding private keys that will allow you to spend coins sent to those addresses. This means that you can install the MPK on your ecommerce site web server and generate as many receiving address as you need to without having to worry about loosing your coins in the unfortunate event of a server compromise.

Final Words

Deterministic wallets are a truly fascinating subject. Developers continue to innovate in this area. For example Hierarchical Deterministic (HD) wallets take this concept and expand it to a whole new level. HD wallets will be the subject of a future blog post on this site.