We've discussed what cryptocoins are, how they are created, and how
transactions work, but where do you keep this invisible currency? In a
wallet, of course, which is used to store, send, and receive coins. A cryptocoin
wallet is a software application that incorporates your unique transaction data; the
software can be installed on your PC, your phone, or on a website.
In the coin transaction section, we discussed
sending coins from user 1 to user 2 and that the transaction was public but
(mostly) anonymous, and left it at that. The way each user is identified on the
network is by an address assigned by each wallet. When you create a wallet, it
is empty with no addresses. To receive coins into your wallet, you have the
wallet create a receiving
address and provide the sender with this value. The sender creates the
transaction with your wallet address as the destination, hits send, and voila,
the coins are in your wallet. When you send, it is from your wallet address to a
wallet address provided by whomever you are sending to.
For complete anonymity, you can use a different wallet address with every
transaction. If you reuse a wallet address and it is associated with your name,
the anonymity is no longer there and all your transactions can be identified.
The coins, however, are secure, since having someone's public wallet address does
not give you access to it.
To provide security, a private key is associated with each public address. It
takes both the public and private key values to allow access to the coins your wallet.
The private key must
be kept secure, since it provides the access to your wallet contents. In
addition, if you lose the private key there is no way for even you to access
your coins! Thus, if you maintain a local wallet (installed on your computer)
keep backups, and backups of backups, of your wallet data. When you use an online
wallet, the hosting site is responsible for your private keys; however, you have
the risk of the hosting company going out of business or being hacked.
To be viable, every type of cryptocurrency needs a wallet specific
to that coin, and the more popular the coin,
the more choices available. A "core" wallet is one that is local to your
machine, and stores the entire blockchain. These are typically developed by the
creator of the cryptocurrency and every coin type
should have at least a core wallet available. The website for each type of coin will (should)
provide wallet choices available.
If you choose to use a core wallet, you will be storing the entire blockchain
for that currency on your local machine. For Bitcoin the amount of data
is already very large (over 100GB), and very time consuming to download and
index. This does give you complete control over your coins, at the risk of
losing them through your own negligence. There are also desktop (local) wallets
available that are considered "lightweight" which store your wallet contents on
your machine, but the blockchain is stored on their servers. Electrum (available
for Bitcoin and
Litecoin) is an example of this type of
wallet. Some well-known online wallets, which store both the blockchain and your
wallet contents online, are Coinbase and Xapo. We have heard that Xapo fees can
be quite high and thus discourage using it. If you are interested in working with several
(or more!) different coins, online multicoin wallets are available, such as
CoinPayments and Coinomi.
For novice users of Bitcoin, a light wallet such as Electrum is probably the
best way to go to avoid loading and storing the blockchain; however the core
wallet gives more flexibility on choosing transaction fees. In our last test,
the minimum fee selectable on Electrum is 0.0013 BTC (130,000 satoshi). Imagine
accumulating 150,000 satoshi in your wallet using faucets and finding out after
deducting the transaction fee that only 20,000 satoshi is available. It
should be noted, though, that 150,000 satoshi is only about US$1.50. That same
fee could apply to a US$100 transaction, and the fee would be more reasonable.
Using the core, you can select a much lower fee (although the lower the fee the
longer it will take to send... and ultimately may never be sent).