The thought of using ethereum might sound intimidating, but it could be rewarding.
If the ‘unstoppable world computer’ develops according to plan, it could provide alternatives to the Facebooks and Googles that many people use everyday (as explained in “What is Ethereum?”).
Ethereum might not be as intuitive as the web as we know it today, but still, anyone with a computer or a smartphone can try the platform out as long as they own ‘ether’ – unique pieces of code that allow updates to the blockchain’s ledger.
First, you need a place to securely store your ether (or at least a place to store your private keys). This brings us to ethereum ‘wallets’.
One caveat is that losing your private key is a much bigger deal than misplacing a password: it means losing your ether, forever.
Removing trusted parties is a two-edged sword. While intermediaries are no longer needed to verify transactions, there’s no help desk to turn to for help recovering your secret key.
With that in mind, there are plenty of options for wallets to store cryptocurrency: desktop wallets, web wallets, hardware wallets and paper wallets.
Choosing one depends on your preferences for convenience and security. Usually these two concepts are at odds with one another: the more convenient, the worse the security (and vice versa).
Desktop wallets run on your PC or laptop. One option is to download an ethereum client (a copy of the entire ethereum blockchain). There are a few ethereum clients written in different programming languages and with different performance tradeoffs.
This process can take up to a couple days, and will only increase as ethereum grows. The wallet then needs to stay in sync with the latest transactions on the blockchain.
Mobile clients, or ‘light’ clients, require less data to be downloaded to connect to the network and make transactions, so they are more suitable for download to a smart phone.
The light client option is more convenient, but not quite as safe. Full ethereum clients offer a more secure way of receiving transactions because they do not need to trust miners or nodes to send them accurate information – they validate transactions themselves.
Storing private keys on a device that is detached from the internet (a method known as ‘cold storage’) is harder to hack and is best used for storing large ether holdings.
However, the method is not as easy to use as when ether is stored on a smartphone or internet-connected computer.
Hardware wallets, which are often as small as a finger or two, arguably offer the best of both worlds. These secure devices that can often be detached from the internet, and can sign transactions without being online.
But again, this deposit-box-like system is not a good option if you want to use ether frequently or on the move.
Another cold storage option is to print or carefully handwrite a private key on a slip of paper, a ‘paper wallet’, and lock it somewhere secure like a deposit box. Online tools can generate key pairs directly on your computer – not on a website’s servers, which could leave keys vulnerable if the site is hacked.
It’s also possible to generate keys using the command line, provided you have the necessary cryptographic packages installed for your preferred language.
All that said, again, if you lose your private key, it’s gone for good.
So, best practice is to spend some extra time creating multiple copies ozaf the private key and stashing them in different secure locations, in case one is lost or destroyed.
The projects listed in this section are not exhaustive and may be outdated.
- cpp-ethereum — Client implementation in C++.
- Geth — Client implementation in Go.
- Hyperledger Burrow- Ethereum virtual machine implementation in Go, built by Monax.
- Jaxx — Web wallet.
- KeepKey — Hardware wallet.
- Ledger Nano S — Hardware wallet.
- Mist — Desktop wallet
- MyEtherWallet — Web wallet.
- Parity — Client implementation in Rust.
But before we go any further, it’s worth explaining a little bit about how it works. Ethereum and other cryptocurrencies have an admittedly confusing storage system.
Perhaps it’s useful to compare it to what we already know.
Notice the string of numbers on the front of your credit card? It’s necessary for banks to determine where they should send money when the card is swiped. Cryptocurrencies allow you to generate similar identification numbers that identify where to debit funds.
In this system, there are two main components that users need for identification: the public key and the private key. Usually represented as a scrambled string of numbers and letters, the two keys are linked together by cryptography.
The public key can be sent to others so that they know where to send your money. If you want people to send you ether, you need an address: a scrambled string of letters and numbers derived from the similarly scrambled public key, for people to send coins to.
To spend ether, you need to sign over the funds with your private key, which, as the name implies, is similar to a password. In the credit card analogy, it’s similar to the pin used to unlock your funds at the ATM or in a store.
So, what’s the benefit of this system? One key difference in open blockchains (such as bitcoin and ethereum) is that users can generate an identification number for their funds at any time. They don’t need to wait for a bank to approve a bank account application and present the credit card.
Statement:Please be sure to indicate the author and source when reprinting the article.