If you had one Bitcoin (BTC), how would you store it and keep it safe?
Trying to answer this question, you’ll see when it comes to cryptocurrencies, crypto wallet is a topic you’ll inevitably run into. Especially when we enter into the Web3.0 era, wallets are no longer just a tool for you to store and transfer cryptocurrencies, but also an interface for you to purchase NFTs (non-fungible tokens), join metaverse games, and interact with the entire Web 3 world; even, it can be a proof of your identity.
For crypto beginners, therefore, it is very important that they get familiar with the definition, classification, evolution, and underlying logic of wallets.
Definition and Classification
People often find it hard to tell the differences between wallet and software wallet.
For the exact definition of wallet, let’s refer to Wikipedia:
A cryptocurrency wallet is a device, physical medium, program or a service which stores the public and/or private keys for cryptocurrency transactions.
Or, in the words of crypto users:
A wallet is an address plus a private key.
Now let’s go back to the Bitcoin question — according to Satoshi Nakamoto’s Bitcoin Whitepaper, the wallet (head + hash function) was incorporated in the bitcoin network from the very beginning.
Therefore, a crypto wallet, in its original definition, is just the combination of an address and a private key, with no more features or content involved.
However, when we talk about wallet in this article/our communication, we are referring to software wallet rather than the mere combination. What is software wallet, then?
Three types of cryptocurrency wallets
Wallet can be divided into three categories, depending on the storage medium of addresses and private keys.
The first categorie is paper wallet. When you go to a website such as bitaddress.org, generate an address and a private key, and then print both on a piece of paper, you get a paper wallet.
The second is hardware wallet. A hardware wallet look like a USB flash drive, but usually has a small screen. In addition to storing addresses and private keys, they also come with some software features.
The last is software wallet. It can be a website or a browser extension, or a software/an app installed on a PC or mobile phone, providing varied features.
When we say wallets, we mean software wallets for most of the cases. However, for the sake of clarity, let’s use the full name, software wallet, here.
How does software wallet work?
The first thing we need to understand is the form in which cryptocurrencies exist. Unlike the electronic currency that most people imagine, cryptocurrency does not exist in any form, because there’s not a unique number corresponds to a coin/token. If I claim that I own a Bitcoin, it means there is a record on the Bitcoin blockchain saying that I have a Bitcoin. In this case, Bitcoin blockchain serves as a ledger. So we can infer that a software wallet does not store the coin/token, but stores the address and private key.
Addresses and private keys
Let’s take a look at a brief explanation of addresses and private keys. Cryptocurrency is based on cryptography, and public key encryption technology is one of the core technologies of cryptography. Public key encryption technology involves the concept of public key and private key.
If I sign a piece of data with my private key, then anyone who holds the public key can verify that the piece of data was signed, or authorized, by me. These are cryptographic techniques that existed long before cryptocurrencies.
Now let’s go back to wallet. The wallet private key actually corresponds to the cryptographic private key, and the wallet address corresponds to the cryptographic public key. So every time I use my wallet address to make a transfer to you, the underlying logic is that I use the wallet private key to sign a transfer transaction. After the transaction is broadcast to the ledger (the blockchain), the balance in my address will decrease, and your balance will increase.
So that is how software wallet works. First of all, the software wallet must be able to get hold of our address and private key, either through long-term storage or through input actions during transfers. Secondly, there must be a blockchain behind the wallet. For example, a Bitcoin software wallet must be able to broadcast transfer transactions to the Bitcoin network. While a multi-chain wallet like BitKeep have multiple blockchains behind it.
Finally, and most importantly, the wallet must be able to complete the private key signing for us.