What are Cryptocurrency wallets and how do I use them?
So you want to buy a few cryptocurrency coins, but aren’t 100% sure on how they’re stored, or how to keep them safe?
Before going into the difference between hardware, software and hosted wallets, it helps to know a bit about how wallets work in general. While each cryptocurrency might make slight adjustments to the way wallets operate, they all follow roughly the same principles.
What is a wallet?
Wallet addresses are functionally identical to bank account numbers. It’s an address on the ledger which other people can send coins to, but only you (as the holder of the private key) can spend those coins.
Wallets are anonymous by default. They’re just long strings of letters and numbers, containing no identifying information. The only way to know for sure who owns a particular wallet, is if they tell you.
Wallets are secured using private keys, which will need some further explanation.
What is a private key?
To understand private keys, you first need to know a little about asymmetric cryptography. Luckily, we can skip most of the underlying technical details here – the technology has been around since the late 1970’s, and has proven itself to be reliable.
In simple terms, a private key is a block of random text, generated by a key generation program. This block of text essentially functions as a special password – you can use it to decrypt (“unlock”) things.
However, private keys are not generated alone. They’re always paired with public keys (which is where the “asymmetrical” part comes in). You can share your public key with anyone, and they can use it to encrypt files in such a way that only you can decrypt them.
So how does this apply to blockchain technology (and wallets, in particular)? As the holder of the private key, you are authorized to transact from your wallet. If you want to send tokens to another wallet on the network, that transaction is submitted to the network for verification, signed using your private key.
It’s analogous to signing a paper cheque. In a perfect world, if you lost your cheque book, that wouldn’t be a big deal – anyone could scribble down a transaction (amount and destination), but without a valid signature, no bank would honor it.
Private keys are significantly better in this regard, since they’re enormously complex and can only be generated and verified by machines. They also come with a bit of a downside – if you lose your private key, and someone uses it to empty your wallet, you’re stuck. This is why it’s vital to store your private keys securely.
How do I secure my wallet?
This is an important question to ask. While the blockchain itself is an immutable ledger of transactions, the systems and services built around it might not be.
There have been a number of high-profile hacks – the most recent being NiceHash, a mining pool service that lost over $60 million in Bitcoin in one go. In that instance, the mining pool operators did a poor job of securing the private keys for their storage wallets, and a hacker got ahold of them, draining the account.
Another risk to consider is if you’re trading on an exchange – for instance, if you’ve signed up at Coinbase, Bitfinex, or others. They generate and host the wallet on your behalf, which makes it easier for you to sign up, but it also means you risk losing the coins in your wallet should they ever be breached.
The only way to be 100% sure that your wallet is secure is if you generate and hold that private key yourself, and never copy it, or send it to anyone. Typically, downloading a software wallet, or buying a hardware wallet will do this on your behalf.
You can also produce something known as a “paper wallet” – a printout containing a machine-readable image that encodes your private key. This lets you store coins in a wallet on a live blockchain, but keep the private key offline in physical form – which is the most un-hackable form of storage that exists.
How do I get started with a software wallet?
Every cryptocurrency will have its own wallet software. Since Bitcoin is open source, and had functioning wallets for all the major operating systems, there’s a good chance you can get one to store whichever currency you buy.
(There are over 1300 currencies right now, each with their own wallet software. For ease of reference, we’re only indicating the top five here. You can find more on coinmarketcap.com)
- Bitcoin – Windows, Mac, Linux
- Bitcoin Cash – Windows, Mac, Linux, Androind, iOS
- Ethereum – Windows, Mac, Linux
- Ripple – Windows, Mac, Linux
- Litecoin – Windows, Mac, Linux, Android, Blackberry
For each wallet, download and install the software. The wallet application needs to keep a local copy of the ledger, and could take a couple of days to synchronize everything. You’ll need to make sure you have enough hard-drive space to store the ledger.
Learn more about the current blockchain size from the respective sites – all sizes are as of 19 December 2017.
- Bitcoin – 143gb (Link)
- Bitcoin Cash – 155.35gb (Link)
- Ethereum – 459gb1 (Link)
- Ripple – N/A2 (Link)
- Litecoin – 11.15gb (Link)
1 While Ethereum’s blockchain is huge, new users don’t need to synchronize all of it. The default sync option only requires about 12-15% of the total size, so ~55gb.
2 Ripple’s true database is enormous (in the multiple-terabytes range), but the desktop client only needs to store enough information to run the wallet, which is only a few kilobytes.
Mobile wallets don’t need to store all that information though – if they did, basically no smartphone in the world would work! Mobile wallets only store your keys, and use a much faster method of submitting and receiving transactions to the relevant network.
Once the software wallet is installed and synchronized, you will be able to send and receive coins directly from your desktop.
All wallets start out empty. To actually get some coins to spend, you’ll need to get someone to send you some tokens over the network, or you can buy some from a popular exchange. Another way to earn tokens is to mine for them, a topic which will be too complex to get into here.
About Sending and Receiving Addresses
Remember how wallet addresses are functionally equivalent to bank account numbers? Crypto wallets have one more trick up their sleeve in this regard: You can create multiple addresses to send and receive coins, which will obscure your transactions from prying eyes.
These blockchains can be explored in full public view. For instance, here’s the receiving address of the wallet that received the first-ever bitcoin transaction from Satoshi Nakamoto:
If you use the same address for all your transactions, and someone learns that the address belongs to you, they can easily look up your full transaction history using one of multiple online services.
A best-practice for getting around this is to create new addresses every time you want to send or receive Bitcoin. The desktop wallet applications (like Litecoin Core, pictured above) let you do this easily.
Multi-Coin wallet: Exodus
Before moving on to hardware wallets, there’s an excellent software-based wallet that you may want to consider. It’s called Exodus – it’s beautiful, fast, supports several different currencies, has a built-in exchange feature and can automatically calculate the fiat value of your holdings.
If you’re looking to trade more than one coin, and Exodus supports a few of them, give it a try!
A wallet is ultimately just some software and a large database file – meaning it’s ideal for packing into a dedicated device. These devices can generate and store private keys automatically, and offer a simple interface for confirming transactions.
The TREZOR Bitcoin Wallet is the original wallet. You can buy one for around $100 before shipping. It can be setup without registering at any central authority. The TREZOR wallet traditionally only supported Bitcoin, but has recently expanded to support DASH, ZCash, Ethereum and Litecoin.
Ledger Wallet has produced two hardware wallets – the most popular is the aptly-named Ledger Nano S. It’s about the size of a USB drive, but includes all the same safety features as the TREZOR, while supporting over 20 cryptocurrencies.
Since the most important part of your wallet is the private key and address, it’s possible to create and use a wallet without requiring much data at all. Some projects support this – like Ethereum, and Monero.
These client-side wallets generate instantly, and so long as you keep your private keys safe, you can transact without downloading any software, or signing up for a hosted wallet.
If you want to save yourself the hassle of managing private keys, waiting several days for the ledgers to synchronize, and don’t want to buy a hardware wallet, the best option remaining is to use a hosted wallet.
The most popular hosted wallet is Coinbase. You can sign up, purchase and transact with Bitcoin, Litecoin and Ethereum directly through their app. They store your private keys and wallet on their infrastructure, and simplify the process of using it.
Which should I choose?
This is ultimately a complex question, and the answer comes down to trust. If you trust your own ability to keep your data safe, then using a software wallet is the way to go. If you trust the vendors of hardware and hosted wallets to produce secure products, then there’s no reason not to use them.