Crypto Wallets

A cryptocurrency/crypto wallet is a far cry from physical wallets where we store our usual money. In fact, the name is quite misleading, because unlike real world wallets, crypto wallets don’t store money within them. They don’t even store cryptocurrencies. Instead the money is stored on a decentralized ledger, called a blockchain. From a high level view, a crypto wallet is an application which serves as the primary user interface to a cryptocurrency.

Why use a wallet?

As you may know, cryptocurrencies use public key cryptography for signing transactions. This means that a key pair is generated which consists of a public and a private key. A wallet application manages these keys, controls access to the user’s money, tracks the balance and even creates and signs transactions. The primary purpose of a wallet is to make interactions with a cryptocurrency easier.

Types of wallets

On a computer, wallets may exist as programs or as simple database files. Wallets may also be in the form of physical devices, such as a USB stick or a special electronic device. The following types exist :

  • Non-deterministic Wallets
  • Deterministic Wallets
  • Paper Wallets
  • Hardware Wallets

Non-deterministic Wallets

In early Bitcoin clients, wallets were simple collections of randomly generated private keys. This type of wallet is called a non-deterministic wallet. It has been nicknamed “Just a Bunch of Keys”, or JBOK for short. This type of wallet is not recommended anymore because of its disadvantages. Since private keys are stored as a collection, even if one of the keys is lost, all the Bitcoins associated with a particular address will be lost. Moreover, users are forced to take backups of all keys for this reason. Another disadvantage is that backing up keys causes reuse of Bitcoin addresses, which impacts privacy in a negative way. As a result, these types of wallets are not used anymore.

Deterministic Wallets

In a deterministic wallet, all private keys are derived from a common “seed”, thorugh the use of a one-way hash function. This type of wallet allows easy recovery, import/export of a user’s keys, since while backing up, only the seed needs to be backed up. All other keys can be generated from it. To make the seed easy to remember, mnemonic code words are used. These code words are sequences of words from English, which represent the random number used as a seed. An improved version of this type exists, called the Hierarchical-Deterministic Wallet or HD wallet for short. This has further advantages such as the ability to create public keys without the corresponding private keys. Most wallets are now of this type.

Examples

Paper Wallets

These are in the form of public and private keys printed on paper. They are very effective as backups or for offline storage. Offline bitcoin storage is also called “cold storage”. These wallets provide better guarantees against the loss of a key due to computer failure, such as theft, deletion of keys or even hard-drive failure. In fact, they are more secure against crackers(black hat hackers) if they are generated offline, and never stored on a computer(say in the form of a .png file).

Examples

Hardware Wallets

This type of crypto wallet exists in the form of a special hardware device, such as a very tiny computer on a USB stick. This device stores public and private keys of a user and are deterministic wallets by nature. A lot of them support multiple cryptocurrencies and offer more benefits over software wallets. The only disadvantage is that they tend to cost more. Although the track record of hardware wallets has been good so far, having a hardware wallet is not a silver bullet to protect your cryptocurrency.

Examples

Enfin

The examples given above are not exhaustive, and other than the ones mentioned, other types do exist. These includes cloud and mobile wallets. You can find out more about Bitcoin wallets here. Cryptocurrencies use blockchains to store their tokens/coins. To learn more about blockhains, checkout my post here.

One thought on “Crypto Wallets

Leave a comment