Care About Your Financial Privacy? HD Wallets Are Your Friend

Tuesday 07 October 2014

Maintaining privacy of transactions is a key tenet in building a robust financial network. Despite all the media hype around Silk Road and the like, this is true even if you’re engaging only in perfectly licit behavior.

The beauty of the blockchain lies in its decentralized, open nature, but due to those very characteristics, specific actions need be taken to protect bitcoin transactions and balances from being exposed in undesirable ways. Users can inadvertently reveal information about themselves and their past transactions if they use a single address for all of their bitcoin activity, which is the default behavior of many wallets today.

When bitcoin addresses are used multiple times, transactions can be linked to one another, and if it becomes known who the participants were in any one such transaction, a large amount of that address’ transaction history can be exposed. For instance, say you work at a company that pays its employees in bitcoin. You would of course know the address that is generating the transaction that pays you, and because the blockchain is public, you could also see the other transactions that were broadcast to the network by that same address. This could allow you, or anyone else who knows the source address, to infer sensitive information around colleagues’ compensation, company ledgers, etc. Both individuals and organizations holding sizable amounts of bitcoin have good reason to avoid linking their addresses and transactions to their identity in a way that is visible to the general public, which could result in targeted theft attempts -- or worse.

Bitcoin Improvement Proposal 32 (BIP 32)a specification for how to use cryptographic key derivation to manage multiple keypairs with a single secret key, helps reconcile privacy and security concerns. Hierarchical deterministic wallets (also known as HD wallets, but not to be confused with high definition!) offer increased privacy without adding to the burden of managing a large number of keys. In addition to using multi-signature (BIP 16) addresses, BitGo has implemented HD on all its wallets, which means that every time a transaction is made with a BitGo address, it is rotated so it appears to the outside world as a new account. However, you don't need new private keys for this account, because the new keys are derived from your HD keychain.

HD wallets are one of several types of deterministic wallets. More broadly speaking, deterministic wallets allow keys to be derived from a single seed. Using the seed alone, users can backup and restore their wallet, but unlike traditional wallets, deterministic wallets must only be backed up once and then remain backed up forever, because all future addresses are determined in advance. This also allows for more efficient key management, as they can be trimmed down to a very small size that can be easily stored in paper format, such as on a QR code. Non-deterministic wallets become larger, more cumbersome, and harder to back up over time.

In HD wallets, a seed is used to generate a tree of keypairs. Hierarchical deterministic wallets enable selective sharing because an entire tree of keypairs is created, rather than a single chain. Standard deterministic wallets only include one chain of keypairs, which means that a user would effectively be sharing the entire wallet with someone if she or he wanted to share any of the keys. With an HD wallet, the user would instead have the ability to share some, but not all, of the public keys.

Multi-sig and hierarchical deterministic wallets are critical foundational technologies which BitGo has invested a great deal of time and resources into implementing, but wide adoption of these standards by major players in the space can only benefit the ecosystem as a whole. BIP16 and BIP32 bring together the security offered by multiple keys and the privacy offered by transaction confidentiality - and that’s a marriage we can all get behind.

Arianna Simpson

comments powered by Disqus