The person who controls the private key used to encrypt data on the blockchain controls the data. The only way that you can claim any crypto-asset is to prove that you control the private key associated with a crypto-asset’s address.
Addresses in Ethereum are the last (rightmost) 20 bytes of the hash of the owner’s public key. To calculate an address, just calculate the Keccak-256 hash of a public key, and then copy the rightmost 20 bytes. The resulting value is the address for that account’s public key. The code to calculate an address from a public key looks like this:
addr = right(keccak256(pubkey),20)
The only way to protect your crypto-assets is to protect your private keys. You need some mechanism to store your private key so that you can get to it, but no one else can. The primary function of a wallet is as a place to store one or more private keys used to access blockchain data.
The perfect Ethereum wallet makes it really easy for you to get to your keys and impossible for anyone else to access your keys. All wallets balance these two goals and strike some compromise between utility (how easy it is to access your keys) and security (how safe your keys are from attack).
Types of Ethereum Wallets
Private keys can be stored in several ways, ranging from very secure to very easy to access. You should consider how important your private keys are and select a wallet type that works for you. The main categories of wallets follow:- Software wallets store private keys in data files, where users can easily access them.
- Hardware wallet store private keys on a physical chip stored inside a device, such as a Ledger Nano S.
- Paper wallets are pieces of paper with the keys printed on them.
Software Ethereum wallets
Software wallets are programs that store private keys and make it easy for users to retrieve and use those keys. After setting up your wallet, you can access your keys by providing a user ID and password or an encrypted file that only you have. Software wallets can be further divided into two main categories: hot wallets and cold wallets.Ethereum hot wallet
A hot wallet is one that stores your keys online. You can easily access your keys, and your Ethereum assets, from anywhere in the world. All you need is an Internet connection and access credentials. Although hot wallets are convenient, that convenience comes at a cost. If someone steals your access credentials, he or she can steal your Ethereum assets.Also, you have to trust the wallet organization that stores your keys. If your Ethereum wallet organization is hacked or goes out of business, you could lose everything. If that organization is a target of an investigation, your information could be divulged or your Ethereum assets could be frozen. You give up control to get convenience.
Ethereum cold wallet
A cold wallet is one in which you store your keys offline. You need to provide your keys only when you want to access your Ethereum assets. You can store keys offline in multiple ways, but this approach requires a few extra steps when you want to buy or sell crypto-assets or interact with smart contracts.Although cold wallets are a little less convenient, they can be more secure. You have control over your keys with this type of Ethereum wallet and can take whatever precautions you feel are necessary to protect your keys. Using a cold wallet gives you an alternative and mitigates the threat of an attacker hacking into your online wallet and harvesting lots of keys.
With a cold wallet, you're responsible for protecting your keys. You have to make sure that every place you store your keys is as secure as possible. If you have a lot of value stored on the Ethereum blockchain, make sure that your key storage locations are as secure as possible and can’t be accessed by anyone but you.
Hot wallet vs cold wallet for Ethereum
How do you decide whether to use a hot wallet or a cold wallet for Ethereum? If you want more convenience and trust the security of an online wallet vendor, a hot wallet might be the best choice. Also, if you don’t plan to store anything of great value using a specific Ethereum account, a hot wallet is easiest and may make the most sense for that account.On the other hand, if you distrust online vendors and are comfortable taking responsibility for securing your key storage, a cold wallet will give you more control. Or if you plan to store assets with substantial value, you should take responsibility for protecting your own stuff. You will have to sacrifice some convenience, but losing all your cryptocurrency is inconvenient itself.
Types of wallet client software for Ethererum
After you decide to store your keys in a hot or cold wallet, your next choice is the type(s) of wallet client software. If you choose an Ethereum software wallet to store your keys, you need to run that software somewhere. You have several choices:- Web wallets: Wallet software that you access by using a web browser.
- Desktop wallets: Software that runs on a desktop or laptop computer. In most cases, desktop wallets run on computers running Microsoft Windows, macOS, or Linux.
- Mobile wallets: Ethereum wallets for mobile devices. The most common wallet software runs on the iOS and Android operating systems for smartphones and tablets.
You don’t have to choose just one type of Ethereum wallet. You can use multiple wallets, depending on your needs. Keys for high-value crypto-assets need to be protected more carefully, whereas keys for low-value crypto-assets could be stored online for easier access.
Hardware Ethereum wallets
An Ethereum wallet option that is more secure than most software wallets is a hardware wallet. A hardware wallet stores private keys on a physical chip. You can connect the device housing the chip to many different types of computers and mobile devices, thus providing multiple ways to access the keys. Most hardware wallets also provide physical buttons to manage access to your keys.The advantage of a physical wallet is the increased security. You connect your device to a computer only when you want to access your blockchain assets. When the device is not connected, your keys are safe inside the physical device. An attacker would have to physically steal your wallet device and know your access credentials to get to your keys.
The disadvantage of a physical wallet is the loss of convenience and redundancy. You must attach your physical wallet to a computer or device every time you want to access your blockchain assets. If you access assets frequently, this process could become annoying.
Also, if you lose your physical device, you may not ever be able to recover access to your blockchain assets. For that reason, many physical wallet users make at least one backup copy of their keys and take extra care to store the copies in a secure location.
Paper Ethereum wallets
The last type of Ethereum wallet can be the most secure. As the name implies, a paper wallet is literally just a piece of paper. After creating an Ethereum account and generating keys, one way of storing those keys is by simply printing them on paper. Most key generation options give you the choice of printing your keys. If you choose that option, you’ll get a hard copy of the private and public keys, along with a QR code of each key.
Whenever you want to access your blockchain assets, such as to buy or sell Ether, you can either type in your private key or scan the QR code. Of course, the software that you’re using to access Ethereum has to support QR scanning.
Paper wallets are secure only if you keep your paper secret. Carefully guard that piece of paper. Anyone who can grab the paper, or even take a picture of it, can steal all of your Ethereum assets. And, just like with hardware Ethereum wallets, it's a good idea to make a backup copy and keep it in a secure location.
Regardless of which type of Ethereum wallet you choose, make sure you take precautions to keep your assets safe.