Introduction:
The Web3 industry is developing too fast, and new things appear every day. Therefore, many daily thoughts are worth recording.
As the entrance to the Web3 world, we use wallets every day, but do we really understand wallets?
If you don’t understand all kinds of wallets, how dare you put your assets in your wallet?
Therefore, in order for us to live longer and go far in this industry, please first have a deep understanding of Web3 wallets.
If you want to really understand wallets, you need to understand a lot of underlying blockchain technology principles first, but this is actually very costly to learn.
Including myself, I have been working on wallet products for two or three years, but many of the concepts I am accustomed to often have vague places, which is a dark place under the lamp.
At present, wallet products still have a high threshold for many ordinary users, so this article tries to describe the underlying principles of wallets in simple language as much as possible, and help everyone provide strategies for using wallets.
1. Analogy with banks
Here we will not list some obscure concepts, but try to use the bank cards we are familiar with in traditional finance for analogy:
Wallet address = bank card number
Public key = bank account
Private key = bank card password
Mnemonic = master private key = multiple sub-private keys = multiple bank sub-account passwords (mnemonic is another form of private key)
Analogous to banks in real life, if we want to trade with others, we need to take the following steps:
(1) Create a bank card account and set a password
In the blockchain, we first generate a private key through a random number generator. This private key is the bank card password. Then we use the private key to generate a public key. This public key is the bank account. The public key will then generate an address. This address is the bank card account number.
We can find that this creation process is the opposite of banks in the real world: the bank first helps you create an account and then asks you to set a password.
However, just like a bank, even if others know your public key and address (bank account and bank card account number), they cannot obtain your private key (bank card password).
(2) Transferring to another bank card account
If you want to transfer money to another bank account, you need to know the other party's bank card number first, then enter the transfer amount (it cannot be greater than the amount in your own account), and then you need to enter the bank card password. After verification, you can initiate the transfer.
Similar to this process, the only difference is that you do not need to tell your key (that is, bank card password) to anyone or any organization, you only need to digitally sign with your private key.
In the traditional financial system, the bank stores your bank card password and verifies it when transferring money. This bank is a centralized intermediary.
But in the blockchain world, your private key is only known and saved by you, and will never appear in any scenario. You only need an algorithm to prove that you own your private key.
(3) Reporting a lost bank account
If you lose your bank card or bank card password, you can freeze the bank account, or reset the password after proving your identity to the bank.
But in the blockchain world, if you lose your private key, you can never find it again, and no one can freeze your account or change your password.
2. The structure of a multi-chain wallet
Here are the various concepts mentioned above:
A wallet can generate or import multiple sets of mnemonics. A set of mnemonics can generate a master private key. The master private key can derive multiple sub-private keys on different chains, and each sub-private key generates a fixed address.
However, in order to facilitate users to manage multiple addresses on multiple chains, wallet applications are generally encapsulated into the concept of Account, that is, the first address generated on each chain is collected as Account 1, and the second address generated on each chain is collected as Account 2, and they are aggregated in the order of sub-private key derivation.
In short, wallets and accounts are product concepts, which are created for the convenience of users; while mnemonics, private keys, and addresses are technical concepts, which are the actual data forms in the blockchain.
The current trend is to encapsulate concepts such as mnemonics, private keys, addresses, and chains as much as possible in applications, and use some concepts that are easy for users to understand, such as accounts.
This is also why the narrative of "chain abstraction" appears, which is also to reduce the trouble of technical concepts on users' use of products, and not to worry about cross-chain, gas fees and other issues, and provide users with similar experience of Web2 products.
3. What is a wallet?
In fact, there is no money in a wallet, just like the wallets in our real life, which are mostly bank cards, keys and other items.
The same is true for the Web3 world. Money is stored on the blockchain. The word wallet specifically refers to the system used to store and manage user keys (i.e. bank card passwords).
Each wallet contains a key management system. For some wallets, the key management system is the only module; while for some wallets, it may have more extensive functions on this basis, such as serving as the entrance to decentralized applications. A typical example is OKX Web3 Wallet.
If classified according to whether the private key is directly exposed to the network, it can be divided into hot wallets, cold wallets and warm wallets.
(1) Hot wallet: A hot wallet is an "online wallet" that can be used to access Bitcoin on a browser or mobile device.
(2) Cold wallet: A cold wallet is an "offline wallet". By keeping the private key offline, it can effectively prevent hackers from stealing it, such as hardware wallets.
(3) Warm wallet: It is between cold and hot wallets. Similar to hot wallets, warm wallets are also connected to the Internet, but for security reasons, warm wallets have a strict whitelist address and cannot transfer money to addresses outside the whitelist.
From the perspective of security level, hot wallets are lower than warm wallets and lower than cold wallets.
4. How do ordinary users choose a wallet?
It is actually the most important to isolate assets. You can use the cold, warm and hot three-layer wallet strategy to divide your wallet into three categories:
(1) Hot wallet (10% assets): A wallet that is often used for interaction. Do not store a large amount of assets. Generally, you can store assets that meet the gas requirements.
This wallet can be used to frequently play new projects. Even if it is really phished and causes some losses, at least it will not cause serious damage.
(2) Warm wallet (20% assets): In fact, it is an isolated hot wallet. Assets with relatively low interaction frequency can be placed in a warm wallet.
This wallet is suitable for liquidity pledge assets, because many projects are now pledge projects. If these assets are kept in a hot wallet for a long time, it will be very dangerous, so a hot wallet can be isolated as a warm wallet.
The assets in this wallet can also be used at any time, but the frequency of interaction is much lower than that of a hot wallet, and the risk is also much lower.
(3) Cold wallet (70% assets): Large assets are best stored in a hardware wallet for cold storage, and it is best not to interact at all.
Of course, asset isolation in multiple types of wallets actually sacrifices efficiency for security. The best approach is to have a one-stop asset management platform that integrates multiple wallet types.
There is currently no such lightweight layered wallet on the market, but the OKX Web3 wallet is most likely to come out.
Because OKX Web3 wallet is a super application, it has integrated multiple types of wallets, but it still lacks interoperability and fund management strategies for multiple types of wallets. We hope that in the future, we can truly manage user assets in one stop.
5. Summary
Seeing this, everyone should be able to basically establish an overall understanding of Web3 wallets.
More importantly, do not use unknown wallets at will in daily use, because security is not guaranteed, and do not copy and paste your own mnemonics and private keys at will. Once leaked, you will lose all your assets.
Since everyone has come to the Web3 world, every step must be cautious, only in this way can there be a chance to reach the other side.