A cryptocurrency wallet is a software wallet which allows a user to use cryptocurrencies in a similar way common to the way the FIAT wallet is used. The main purpose of the cryptocurrency wallet is to store private and public keys related to particular cryptocurrencies. The wallet shows the user's balance and enables to receive and send cryptocurrency.
An owner of a cryptocurrency wallet must authenticate himself before the balance is shown and manipulation with the currency is allowed. It is recommended to set up strong credentials and enable 2-factor authentication.
A cryptocurrency wallet provides users with a public wallet address which is used to receive cryptocurrencies. A user can publicly expose the wallet address and give it to a peer for sending cryptocurrencies to it. Some wallets are able to generate a new public address for every deposit transaction to achieve more anonymity.
Possession of cryptocurrencies is based on keeping private keys to digital coins. When a user receives a digital coin, a cryptocurrency wallet stores corresponding private keys in a secure and encrypted way. Coin private keys are associated with the wallet address and this is one piece of information which is stored in a blockchain.
A deposition and a withdrawal of cryptocurrency is carried out via so-called transactions. A transaction consists of the amount of cryptocurrencies to send or to receive, the wallet address of the sender, the wallet address of the receiver and often transaction ID‘s to uniquely identify the operation. A transaction ID is often generated by the wallet. There is more information in the transition but these are the most important and are visible by peers.
Transactions are processed by a cryptocurrency network which uses a so-called blockchain. Multiple transactions are acumulated into a block and confirmed blocks are added at the end of a blockchain. The blockchain is basically a linked database of confirmed blocks.
The transaction firstly is validated before it can be added to a block. If the transaction is valid it is added to a new block and then the network must confirm the block. The confirmation process requires a mutual agreement of the majority of nodes in the network to add the block into the blockchain. The confirmation often takes just a few seconds or minutes. However, in some rare cases, it can take hours.
There are more mechanisms of transaction confirmation. The first one is the so-called Prove of Work (POW) mechanism which is based on computing sophisticated cryptography tasks.
The second most used type is Prove of Stake (POS) which is often based on possession of a greater amount of coins and thus having a right decision. It is worth mentioning that most of the public blockchain offers web tools to monitor transactions.
Which wallet to choose
There are plenty of cryptocurrencies nowadays and each cryptocurrency has its own coin or token. Thus users must pay attention to use the correct wallet for the particular cryptocurrency. Sending cryptocurrencies of one type to a wallet address of another type results in cryptocurrency losses.
If a user wants to choose a wallet for a particular cryptocurrency, the first place he or she should go is to the official website of the cryptocurrency.
The user can choose amongst an online wallet, cell phone wallet, desktop wallet, and a hardware wallet. Let's discuss them one by one.
An online wallet is probably the easiest one to use since the user just signs up and can use it via an internet browser. It is highly recommended to set up a 2-factor authentication if the wallet supports this feature. The disadvantages of the online wallet are that a user does not keep private keys (and believes that the online wallet does it properly) and online wallets are often targeted by malicious attackers. On the other hand, some users use the online wallet because they believe it more than they believe in themselves installing the desktop wallet. Keeping higher amount of money in online wallets is a definitely very risky thing to do. If the money is stolen and the wallet provider disappears (no matter if he was a thief or a victim), there is no way of getting your coins back.
Cell phone wallet
A cell phone wallet is just an installed application on the cell phone. It's important to put great emphasis on the security to keep your coins safe in case your mobile phone gets lost, stolen or breaks. After the installation, secure your wallet with the seed - a randomly generated chain of words that you need to recover your wallet on another device. All good wallets offer this option ( it’s also called backup). Write the seed down and keep it on a safe place where noone can find it. A hidden place in your home is much safer than your computers hard drive. If you want to increase the security, have more secret places and just put a part of the seed in each. A potential thief would need all of them to get to your wallet. The next security step is to set up the PIN code necessary to enter when sending transaction. It prevents random people from sending your coins away when you leave your phone on the table, etc. The combination of these two security features makes your mobile wallet relatively safe. Just don’t forget to keep the seed and PIN code accessible to yourself - if you lose them, you lose the access to your coins. The user should ensure that the wallet that he or she wants to install is really the one published by the cryptocurrency project. The advantage is that user can use the cell phone wallet for instant payment.
A desktop wallet requires installation on the user's computer. Before the wallet installation, the user should ensure that the computer is properly secured, meaning that the firewall and antivirus software are installed and updated. The desktop wallet stores private keys in the hard-drive of the computer. So, the user is responsible for their wellbeing. It is recommended to do the regular backups. If the hard-drive gets broken then the private keys are probablly going to get lost. A desktop wallet often requires downloading the whole blockchain. In other words, the wallet must sync with the current state of the blockchain. In some cases, the blockchain might be downloaded from the website and then offered to the wallet. Sometimes light-weight wallets can be downloaded. The Light-weight wallet does not require such extensive syncing. It is also recommended to plug in the computer into internet only when the user uses the wallet. Keeping the computer offline makes the private keys unreachable by network attackers. However, it requires having the extra computer only for the cryptocurrency wallets.
The best pick is a hardware wallet. The most famous ones are Trezor and Ledger. They are by far the most secure wallets a user can use. A hardware wallet is basically a USB gadget which can be plugged into the computer only when the user needs to use it. Both Trezor and Ledger require authentications by PIN before the user is allowed to use it. The big advantage is that there must be physical interaction with the hardware wallet before a transaction is transmitted to the network. Thus it is the most secure way to store private keys since an attacker cannot manipulate with the private keys via the internet. If the hardware wallet gets physically stolen then the PIN is required to access the private keys. It is also possible to connect hardware wallets with other online or cell phone wallets. When the hardware wallet is initialized the user is prompted to store a so-called recovery phrase. The recovery phrase can be used to restore private keys in case the hardware wallet gets broken into or stolen. The user should store the recovery phrase on a plain paper. The recovery phrase should never be written into a text file or sent via the internet. The disadvantage is that the user must buy one and only some cryptocurrencies are supported by the wallet. However, newer models will be designed to support more cryptocurrencies.
Some new cryptocurrencies or tokens do not have any wallet available since the developer teams did not manage to create one. In this case, the only option to keep the cryptocurrencies or tokens is to have it in an exchange wallet. It is not recommended to keep cryptocurrencies in an exchange wallet since a user does not keep the private keys and must believe in the exchange that it secures them properly.
There are also third-party online and desktop wallets which often have multi-currency support. It is handy to have more cryptocurrencies in a single wallet. Before using any third-party wallet the user should ensure that it is a safe decision.