is best for you.
Defining Cryptocurrency Wallets
A cryptocurrency wallet is a software program that helps you manage your digital money. Although you may be the type of person who doesn’t like to carry around traditional wallets and would rather put your cash and credit cards right in your back pocket, you must have a digital cryptocurrency wallet if you want to use any type of cryptocurrency. There’s no way around it. Cryptocurrencies aren’t stored in a bank reserve like other types of traditional assets such as gold and cash. Without crypto wallets, the whole idea of cryptocurrencies dies! Cryptocurrency wallets are the air that keeps the system alive.
While, in theory, Bitcoin is decentralized and nobody controls anything, it’s actually run by a network that’s controlled and maintained by someone (whoever is hiding behind the name Satoshi Nakamoto). In other words, Bitcoin is distributed and miners are somewhat anonymous, but the actual blockchain is stored in its entirety by the network. It’s so large that miners have maybe 30 days’ worth of transactions and blocks stored on their devices; the full blockchain is actually stored in a somewhat centralized form by the network.
A few important terms
Before you get started, here are some terms to know as you explore the world of crypto wallets:
Hot wallet: A wallet that stores your keys online. You can easily access your keys, and your cryptocurrency 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, they can steal your Ethereum assets. Also, you have to trust the wallet organization that stores your keys. If your 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 assets frozen.
Cold wallet: A wallet in which you store your keys offline. You need to provide your keys only when you want to access your 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, which we introduce in Book 2, Chapter 5).Although cold wallets are a little less convenient, they can be more secure. You have control over your keys with a cold 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.
Wallet address: A number that functions in a similar way to a traditional bank account number.
Public key: A code that allows you to receive cryptocurrencies into your account or wallet. It’s mathematically linked to your wallet address, but it isn’t identical.
Private key: A code that’s coupled with the public key to ensure your security. It’s something like your own private password that you use to enter your bank account in the real world.
The following section explains how some of these items work together so you can complete crypto transactions.
How a wallet works
Crypto wallets don’t actually store the cryptocurrency itself; rather, they store the cryptocurrency’s private and public keys. These keys are something like the PIN code you use to access your bank account.
No two wallet addresses are ever the same. They’re something like fingerprints. This distinction means that there is a very low chance that somebody else can get your funds by mistake. Also, you have no limit to the number of wallet addresses you can create.
To give you an example of what a cryptocurrency address looks like, here is the wallet address believed to belong to the creator of Bitcoin, Satoshi Nakamoto!
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
As you can see, it uses a combination of numbers and letters, both uppercase and lowercase. Don’t worry; as long as you have a safe and secure wallet, you don’t have to memorize your crypto wallet address. You can also consider printing your keys and storing them somewhere safe that you won’t forget about.
A private key is a unique individual password to your individual crypto wallet address. A public key then adds an extra layer of security and ensures that your wallet can’t be hacked. Here is a quick example of what the keys look like:
Private key: 03bf350d2821375158a608b51e3e898e507fe47f2d2e8c774de4a9a7edecf74eda
Public key: 99b1ebcfc11a13df5161aba8160460fe1601d541
These addresses look completely different to the eye, but the software technology knows that the two keys are specifically linked to each other. That proves that you’re the owner of the coins and allows you to transfer funds whenever you want.
Addresses in Ethereum (see Book 4 for more about Ethereum) take up 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)
When someone sends you any type of cryptocurrency, they are essentially signing off ownership of those cryptos to your wallet’s address. For you to be able to spend those cryptos and unlock the funds, the private key stored in your wallet must match the public address the currency is assigned to. If the public and private keys match, the balance in your wallet increases, and the sender’s balance decreases accordingly. No exchange of real coins actually occurs. The transaction is signified merely by a transaction record on the blockchain and a change in balance in your cryptocurrency wallet. Cryptocurrencies rely on blockchain technology, which you can learn about in Book 2.
Looking at Different Types of Wallets
First, you need to understand the difference between a traditional digital wallet and a cryptocurrency wallet. You may already be using digital wallets, also known as e-wallets, through your mobile phone. Cryptocurrency wallets are a whole different animal and come in several different types of wallet client software that each caters to different needs. The following sections cover the five most popular types of cryptocurrency wallet client software, in order of their security level (from least to most secure).
In Figure 3-1, you can see a summary of the most common crypto wallets and their examples that Kiana shared with Invest Diva students in 2018. Note: According to Bitcoin Wiki, a “seed phrase, seed recovery phrase, or backup seed phrase is a list of words which store all the information needed to recover a Bitcoin wallet. Wallet software will typically generate a seed phrase and instruct the user to write it down on paper. If the user’s computer breaks or their hard drive becomes corrupted, they can download the same wallet software again and use the paper backup to get their bitcoins back.” A PoS stands for proof of stake, a mining concept explained in Book 6, Chapter 2.