Secure storage of Bitcoin private keys

by Albert Szmigielski

Bitcoins on the Bitcoin network are controlled by private keys. Only the entity in control of a given private key behind some bitcoins can sign the ownership of those bitcoins to another entity. That is why it is of utmost importance to store the private keys securely to avoid theft of them and as a result theft of the funds on the blockchain.

Hardware wallets

One way to store keys in a secure manner is by the use of dedicated hardware wallets. Such wallets offer good security against cyber-attacks as they are disconnected from the internet most (or all) of the time. The wallets are tamper resistant, and they do not rely on any third party to store the keys. Transaction can be formed offline and then uploaded to an offline computer, once the hardware wallet is disconnected from the computer, then the computer can be connected to the internet and the transaction can be sent. This ensures that the hardware wallet is never online. Some wallets also offer recover options (trezor and a recovery seed), so even in the event of hardware failure or loss of the wallet it is possible to recover the associated funds. Wallets that do not offer such recovery options do not guard against loss or destruction of the hardware. Overall the security of private keys stored on hardware wallets is quite excellent.

Usability of hardware wallets does not suffer too much in comparison to using a regular software wallet. The added burden on the user is reasonable in exchange for the increased security. There are extra steps to form a transaction which add a little bit of time and complexity to the process of transacting in bitcoin. However, hardware wallets are meant to be used like savings accounts, that is infrequently.

Multi-Cloud Storage

The intuition behind multi-cloud storage of Bitcoin private keys is to use multi-signature transactions (based on Shamir’s secret sharing) to guard against all kinds of losses. The private keys are secret-shared and stored on multiple cloud-based providers. This guarantees against any one provider trying to obtain the keys. Loss is only possible in the case of collusion among the cloud-providers. Mutli-cloud storage is resistant to hardware failures as cloud providers guard against failures with multiple layers of hardware, distribution and redundant back-up of data. This storage scheme also guards against cyber-attacks. An attacker would have to compromise more than one cloud provider to gain access to the secret-shared private keys. Multi-cloud storage also guards against loss as long as the minimum number of keys required is still maintained. That is, in an m-out-of-n scheme we have to keep access to m keys in order to sign transactions. The security of multi-cloud storage is excellent. As described above, the scheme resists hardware failures, cyber-attacks, and partial loss of keys.

Usability of this storage scheme does suffer a little bit. A number of keys needs to be recovered first in order to sign the transaction. If they are controlled by one person then it just adds time and a little bit of complexity to transactions. If the keys are split among different individuals a coordination effort is also added to the complexity. It is noteworthy that multi-signature transactions are a great way to manage company funds where m-out-of-n officers must sign off on an expenditure in order to release funds.

Leave a Reply

Your email address will not be published. Required fields are marked *