I've been a huge fan of Ether ever since I bought it for $2. Since then the community and currency has grown phenomenally. The main question I still see on r/ethtrader and r/ethereum however is, which wallet should I use to manage my Ether?
If you haven't done so already, please read my tutorial on how to best store cryptocurrency. This tutorial will assume that you've already made a choice on how you would like to store your Ether and will be more about going into the pros/cons of each Ether wallet available.
First it's important to make a slight distinction here. There are two official pieces of software that the Ethereum team currently releases for managing cryptocurrencies which I will now go into detail about.
The official download page for both of these pieces of software can be found here. Always download these pieces of software from their official Github page and nowehere else. This is paramount to your Ether's security.
Ethereum Wallet is essentially what the first wallet for Ether was. It's a Node.js application and its only major purpose is to be able to manage your Ether wallet. It is also fully compatible with every ERC20 token from the get-go because of its "Watch Token" feature, which allows you to add any ERC20 token to it instantly.
Assuming you've taken my advice and gotten a hardware wallet, Ethereum Wallet works perfectly with the Ledger Nano S. Once you connect your Ledger to your computer, unlock it using your PIN and select the Ethereum app, it'll appear instantly in Ethereum Wallet as a new account. You can then send/receive from Ethereum Wallet just as if you had created the account on it, except when sending Ether it will ask you to confirm the action physically on the hardware wallet by clicking a button on it.
Since Ethereum Wallet lives on your machine, then the risk factor of using it, particularly in conjunction with a hardware wallet is quite low. Even if a virus exists on your machine which is designed to attack your wallet, it will not be able to access your wallet's private key on your hardware wallet. This is why I recommend a hardware wallet so much, it just makes your life significantly easier and more secure.
There is however one huge downside to using Ethereum Wallet. It requires that you are running a full node on your machine. What does that mean? Well, it means that you need to be keeping a copy of the entire Ethereum blockchain on your computer. Whether or not that is an issue is up to you. Running a full node helps other people run full nodes as you act as a peer in which people download parts of the node from you, so you are contributing to the network. The major issue for most people is that downloading blocks can be slow and particularly if you starting a new node from scratch, there is a lot of catching up to do. You could be waiting days for it to finally catch up to the latest block. All of the time that you don't have it open are times where you fall behind and will need to sync up again when you open it the next time. Not only that but the blockchain itself can be quite large (over 60 GB). It also grows over time so it can become quite a lot bigger. There are ways to run smaller nodes, several options built into Geth and Parity nodes to allow you to run smaller nodes which you may want to look in to if you wish to go down this route.
With all of this in mind, Ethereum Wallet is still a great choice. It's the official wallet developed by the Ethereum team, it supports every ERC20 token on your demand, it supports wallet contracts which are more complex and secure wallets as opposed to accounts and it works with the Ledger Nano S.
Mist is essentially the big brother of Ethereum Wallet. It has Ethereum Wallet built into it but it also includes one of the major features of Ethereum and that is support for DApps.
DApps is shorthand for "decentralised applications" and essentially it means applications which can be interfaced with that are completely decentralised (run on the blockchain). This is one of the main selling points of Ethereum. Mist allows you to load and browse these decentralised applications. It will also allow you to "connect" accounts of your choice from your wallet to these decentralised applications, essentially allowing you to easily interact with these apps in conjunction with your account. A fine example of this is the Ethereum Name Service which is a DApp that allows you to register domain.eth for use in the future Ethereum decentralised web.
So while Mist is essentially the big brother of Ethereum Wallet, there are some inherent risks that come with using it instead of Ethereum Wallet. The major risk is that Mist allows you to browse to any DApp you want and Mist is still very much in its alpha stages. While normally you need to allow a DApp access to a wallet of your choice to use funds in your wallet, since this is an alpha, there could be major exploits in the software allowing malicious DApps to bypass this.
It's worth noting that this hasn't happened yet as far as anyone is aware and the Ethereum team seems to be quite adept at making secure software in this space. However at the same time, I advise you not to use Mist as your main wallet software because of this possibility. Or at the very least, quoting from the Ethereum team's Github page: "As Mist is still under a security audit, please don't visit untrusted DApps with your Mist browser in order to reduce risks.".
MyEtherWallet, commonly referred to as MEW in the Ether sphere, is a fan-made wallet for Ether. I'm a big fan of MEW in general. They have managed to bring a fully featured wallet for Ether into mainstream adoption while keeping it secure and easy to use. MEW also has a ton of features like offline signing of transactions which make it an astonishingly useful and powerful tool for the user looking for that extra boost in security.
Now you might be wondering, Crack Lord, this is a website, I thought you said that using online stores for your Ether are dangerous!? Well actually MEW is entirely client-sided. What this means is that none of the information about your Ether wallet is actually sent to MEW at all. The entire thing runs in JS in your browser. Think of your browser like Windows or macOS, it's just acting as a buffer to run this piece of software and this piece of software happens to be loaded by visiting https://www.myetherwallet.com/. It is still executing and running entirely on your machine.
The huge benefit to using MEW over traditional wallets is that you do not need to run an Ethereum node at all to use it. It will connect to one of the free community-run nodes to run. This means that MEW will always be up-to-date with the blockchain thanks to these free community-run nodes that it can take advantage of, there's no need to open it and sync it up for potentially hours on end, or store 60+ GB of blockchain info on your computer.
There is however one major risk of using MEW. The risk is that someone hijacks their website and uses it to provide a modified MEW client which can be used to steal your wallet funds. The possibilities here depend on whether or not you use MEW with a supported hardware wallet or if you actually share your private key with MEW to manage your wallet. If you share your private key with MEW to manage your wallet, then you risk sending your private key to someone. If you use a hardware wallet with MEW, then the worst that could happen is that a malicious MEW could redirect your payment to another address without you knowing. You risk these possibilities every time you visit the MEW website a new time, if it has been hijacked, a new malicious MEW will be loaded.
The good news is that you can totally avoid this possibility will still reaping all of the benefits of this powerful tool. MEW is completely open source and even the team themselves recommend that you download MEW from their Github and run it yourself. The steps to do this are very easy, in fact it may even be less steps than using Ethereum Wallet!
You can view the MEW developer's tutorial and steps on running MEW on your own computer here. I absolutely recommend doing this if you plan on using MEW for your wallet, whether or not you have a hardware wallet (it is an absolute must if you do not use a hardware wallet), simply because it's so easy and it will add that extra layer of security. I also recommend you use offline signing via MEW.
There are a few other pieces of wallet software available for Ether at the time of writing this piece. The two wallets that I have covered though are the community favourites and are used by most people. They have the most support, have been around for a long time and are solid.
Which one I recommend depends entirely on your circumstances and what you wish to achieve. If you want offline signing capabilities, use MEW as your tool. If you don't mind running a full node on your computer, use Ethereum Wallet. If you do mind running a full node on your computer, download MEW and use a locally stored version of it.
All of this I recommend doing with a hardware wallet to really solidify the security of your Ether. As always I recommend the Ledger Nano S as my hardware wallet of choice.