As you may notice, the word cryptocurrency contains currency in it which refers to money. People tend to store traditional money in their wallets, so it is not a surprise that software that interacts with cryptocurrencies and Ether in particular is called wallet. But is it a correct comparison?
Ethereum like any other blockchain is decentralized network so it exists on multiple computers at the same time. So there is no single place where your funds are stored. All so-called Ethereum wallets don’t store Ether itself. Instead they store a private key that you use to sign transactions in Ethereum blockchain. If you don’t have access to private key, you don’t own cryptocurrency.
Forms of keys
1. The most primitive form of storing private key is a plain 64-symbol string itself. You can write it down on a piece of paper or into text file on the computer.
2. The first improvement that was introduced on top of private key string is keystore file. In a nutshell it is a JSON file containing a private key encrypted in a special way using a user-created password. That way your key is a bit more protected comparing to the first option as there is no plain text with private key. But however if somebody gots the keystore file nothing can prevent him of attempts to just bruteforce the password.
3. The last option is not so much about encrypting the key but a more convenient way to access multiple keys. It is called seed (or mnemonic) phrase. Usually it consists of 12 or 24 english words. Its purpose is to generate private keys, a lot of private keys. The secret is that words in phrase represents certain numbers that together form a numeric seed which can produce private keys using special algorithms.
Now that we know about what private keys are and how they can look like let’s talk about places they can be stored in.
Offline or cold is a place of storage that has no connection with internet. One way to achieve it is to store your keystore file or private key on a special machine that never ever connects to the global network, even better – with a completely switched off network interface.
The question is – how does one use such key for managing his funds. The answer is to sign transactions on that offline machine as well and transfer signed transactions back to online machine from where it is possible to broadcast them. For example, MyEtherWallet used to have a nice interface for such things.
Hardware wallets are pieces of hardware that store private keys usually using seed phrase with a PIN code. They look pretty much like usb flash drives that you can plug into your machine but instead of files and photos there are private keys inside. Most of them have either screen to control the process or an accompanying desktop application that provides a nice user interface.
The main issue with such wallets is their price. Cheapest models start with about a 100$, that’s a way more expensive comparing to keeping a keystore file on your machine for free.
However such wallets are still a good trade-off between being reliable and being easy-to-use, especially if amount of Ether to be stored is quite large.
Next we’ll look at storages that rely on internet connection.
It is also possible to store private keys using Ethereum node software, like Parity or Geth. In that case you not only have a wallet but also a copy of the whole blockchain itself and thus you expand the Ethereum community as well. You may sign transaction either in console mode or a web-like user-interface that is usually provided by a node software developer.
It is not actually a type of storage but instead one of the most popular and convenient storages. It is a web-browser extension that can generate keys using a seed phrase or even hold your existing keys in form of keystores or plain private keys. All data is stored in the browser itself. Also Metamask can handle token transfers and is supported by almost every website that works with Ethereum.
Not only desktop applications are able to generate keys but mobile apps as well, for example Jaxx. It stores seed phrase encrypted inside the mobile device, not on some web servers. Latest versions also include facial recognition in addition to standard PIN/password protection. Another example of mobile wallets is Status, that also includes p2p messenger and web3 browser.
Nobody forces you to use any of the above mentioned options to secure your keys. You can simply write them into a file or save keystores to some folder on your machine. Transactions could be signed using MyEtherWallet or MyCrypto. That is still an option especially if you don’t deal with large sums or important smart contracts.
The last option in the list is storing Ether in exchanges. But please keep in mind: that way you store Ether, not private keys, because exchanges don’t tell you private keys. It’s hard to tell is it good a bad, it depends on your attitude and goals. Keeping Ether on exchange gives you ability to quickly react on market events without waiting for deposit transaction to be committed.
Finally we mentioned all most popular ways of storing the Ether. It is only you that can decide what suits best.