Although we often call the methods of storing Ethereum assets "wallets", they are substantially different.
What is Ethereum wallet?
Technically speaking, there are only two types of accounts that can hold assets in Ethereum: external owner account (EOA) (Note: the account that we usually contact and users directly control through private key) and smart contract account. Both accounts can save eth, erc20 tokens and NFT, and can interact with other accounts.
Ethereum wallets can be divided into the following categories:
- software EOA Wallet
- hardware EOA Wallet
- single signature smart contract Wallet
- multi signature smart contract Wallet
- managed Wallet
Software EOA Wallet
To date, the vast majority of accounts created on the Ethereum network belong to external owner accounts.
EOA is generated free of charge, and after it is generated, users can get a public key (a string of characters beginning with "0x") to receive funds. Users will also get a private key, which is usually displayed in the form of 12 sequential words (also known as "mnemonics"), to ensure that users can migrate and recover accounts. Users must make sure that they have backed up the mnemonic words, and the mnemonic words are not known by others, because mnemonic words mean that they have full control of the account. If they have backed up the mnemonic words, they can restore their control of the account. If others have mastered the mnemonic words, they can also fully control the funds of the account. (translator's note: the process of sending transaction is actually the process of signing transaction data with private key, but in order to protect users from the risk of frequent input of private key and mnemonic words, the software usually saves the private key as an encrypted file, and requires users to input password "password" to use when signing. This is the "password" that users often use in their daily use of wallets. It is not the private key itself, but the barrier of the private key. It must be combined with a specific encrypted file to be the private key. Users should avoid confusion when backing up private keys).
Most wallets that manage EOA support users to create and manage any number of accounts. Advantages: easy to generate disadvantages: mnemonics must be conserved, and functions are limited, such as metamask, mycrypto, web wallet, mobile wallet, etc. However, the author does not use this customary method here, but only divides it into EOA software wallet and EOA hardware wallet according to the management carrier. Therefore, the above examples can be regarded as software wallets by the author. In addition, web wallets may require users to enter private keys, which is very insecure, so Web wallets are not used for daily use.)
Hardware EOA Wallet
The hardware wallet can only be used to generate an external owner account, and its private key will never be exposed in the Internet environment. When the user generates an account on the hardware wallet, the key is generated in the security module. When users want to initiate a transaction, they complete the signature on the hardware wallet device, and then broadcast the transaction to the network. This process will not expose the private key. Although hardware wallet is a great way to save money offline, it is not as portable and easy to use as browser plug-in wallet like metamask. Advantages: easy to generate, better security disadvantages: the same as EOA software wallet, and more difficult to access.
Examples: ledger, trezor
Single signature smart contract wallet (singlesig)
EOA is by far the most popular form of wallet, but smart contract wallet is showing the momentum of development. The similarity between contract wallet and EOA lies in that users also have a public key and a private key, but the smart contract wallet itself is controlled by code. It can provide many advanced functions that cannot be provided by EOA, such as using tokens other than eth to pay transaction fees (gas fees), social recovery account functions, etc. Single signature only contract wallet means that it has only one owner (EOA), and only the signature of the account can trigger its transaction function. Advantages: better service charge experience, more advanced account recovery function, two factor authentication disadvantages: potential code risk, service charge may be more expensive than EOA.
For example: argent, authoreum
Multisig (multisig)
Multi signature wallet is also a smart contract wallet, so it can provide the same function as the single signature smart contract wallet mentioned above. However, it requires that there are multiple signatures in the reserved account to authorize transactions (M signatures in n reserved accounts are enough to authorize transactions). If your company has 3 shareholders, you can design the smart contract wallet to gather the signatures of all 3 accounts to send the transaction. This ensures that no one can take away all the money without permission. The account reserved by multi signature wallet can be either EOA or smart contract account. So a person can control a multi signature smart contract wallet with multiple EOAs or single signature smart contract wallets. Just think of multisig as a smart contract wallet that provides additional security. Advantages: like the single signature smart contract wallet, it has more security and team management function disadvantages: the same as the single signature smart contract wallet.
Example: gnosis safe multisig
Trusteeship Wallet
Customized wallets are also a subset of EOA wallets, a bit like hardware wallets. However, customized wallets require you to trust a third party to manage your funds and keys. Although this is a little against the idea that "no private key is not your currency", it also has some advantages for large companies or coin holders. One of the biggest benefits is that there is insurance against losing money. Advantages: like all EOA wallets, there are insurance disadvantages: like all EOA wallets, and you can't completely control your own funds.
Example: coinbase custody
I hope my content will help you!
Thank you for reading, enjoying, following and tipping 🕵💓👍🍺.