I. Overview

The choice and use of wallets are closely related to us retail investors. I found that many newcomers are not very familiar with wallets and do not know how to use them. Essentially, a wallet is a container that generates and saves private and public keys and addresses, responsible for signing with the private key, encrypting with the public key, receiving payments with the generated address, or receiving change with the generated address during a transaction. At the same time, it continuously accesses the Bitcoin network to calculate your wallet balance and display it to you.

When you give someone your Bitcoin address and they send money to that address, the Bitcoin balance displayed in your wallet will change. After you send money to someone, in addition to the Bitcoin you paid them, they also need to give you change, so you need to provide a change address, similar to receiving change in everyday life.

The above description is just the user's experience at the wallet interaction level, but the underlying transaction logic is not like this, which involves how to 'construct a transaction,' and will need to be explained later.

In summary, the functions of wallets can be summarized as follows.

1) The wallet can generate private keys, public keys, and addresses.
2) The wallet manages these addresses and helps users automatically allocate their functions.
3) The wallet can not only receive Bitcoin but also help users initiate transactions.
4) Display the Bitcoin balance of the wallet.

Every wallet developer will have the above functions, but the interaction and interface features vary. In the future, we will use the wallet Sparrow Wallet to demonstrate wallet operations and the principles behind them.

II. Classification of Wallets

1. Randomness Wallet

The initial Bitcoin wallets were very simple, and we called them 'randomness wallets.' They essentially did everything we previously explained. They are called 'randomness wallets' because the private keys are randomly generated. Each private key corresponds to a public key and address, and all private keys are independent. There is no relation between private keys, public keys, and addresses.

The most important feature of the 'randomness wallet' is:

A. Complicated operations can be confusing.
A random private key corresponds to a public key and address. When you install a Bitcoin wallet, the wallet will automatically generate nearly 100 private keys for you. You can also import your existing private keys. Backing up private keys one by one can be cumbersome, similar to registering different forums, websites, or game accounts with different usernames and passwords, which often feels tedious.
B. Poor platform compatibility | Difficult to transfer wallets.
However, the wallet will help you save all the information such as private keys, public keys, and addresses. So if you want to back up all private keys, simply backing up the wallet is sufficient, which essentially means backing up the wallet.dat file. This leads to another problem: you can only save it on a computer, USB drive, etc., and cannot save it in a physical version. Additionally, different platforms are not compatible with this file (such as Windows, macOS, OS, Android), and it may not be possible to import or export in different wallets. If you lose this file, for example, if your computer crashes or you delete it, then it's game over.

With the development of Bitcoin, 'randomness wallets' have gradually been replaced by 'Hierarchical Deterministic Wallets | HD Wallets | Hierarchical Deterministic Wallet'.

#Wallet #钱包