Please note: This is supplementary for the “Blockchain and Cryptocurrency Explained” series. If you want to start from the beginning, go here.
Oft asked questions for any cryptocurrency is – How do I start using a coin? How do I mine so and so coin? Or How does one become a node or a peer? The steps for achieving any of these is similar in any coin. This post aims to provide a general outline of those steps.
Here’s the decision tree (click to see larger version)
Now to answer some questions:
What does running a full node mean?
A full node is a simple validator of transactions. It supports the cryptocurrency network by providing distributed consensus. A node requires the pc to be running all the time. Additionally, it requires a lot of data bandwidth. If you lack bandwidth or a server which can be running all the time, it’s best not to run a node.
What is the Core client?
Most coins have their own software called the core client. This is the base which is required to connect to the peers and download the whole blockchain. To use a wallet, you need blockchain connectivity. There is no other way. Example, the core software for ethereum is called geth and bitcoin is called bitcoin core. You can find the software by searching for “coin name” core client download:
What is a wallet software and how is it different from core client?
Wallet software is a vanilla software to store your coins. It is the simplest way for anyone who wants to start using any cryptocurrency. It can’t check transactions against blockchain. As we said in previous question, there is no way to use cryptocurrencies without interacting with blockchain. So these rely on the blockchain hosted by the wallet company. Example is Exodus wallet software. It will rely on the blockchain which exodus will have running on its computers. If you just need to use cryptocurrencies you can download wallet and be done.
Why are there two different steps for wallet address creation?
In most cases, creating wallet address is a simple task in both core client or wallet software and created automatically once you open the software. But in some core client cases, like geth, this requires special knowledge and steps. If you are mining, you need a wallet address where the block rewards and fees can be stored.
How to connect peers in the network?
Most of the software connect to peers automatically. There might be some, again like ethereum’s geth, which require you to do separate steps before you can connect to peers.
What does downloading a blockchain mean?
Blockchain contains all transactions in a network. So, before you can become a node you need the whole copy before validations can be done. This is a time, bandwidth and disc space consuming process. Currently bitcoin blockchain size is 160GB while ethereum is 250GB. So, if you decide to become node for ethereum you need 250GB on your hard disk. Then an internet plan which allows you to download 250GB of data. Then depending on your speed, this download can take up to couple of days.
What is mining?
Mining is the process of finding the next block and earning coins for it – block reward and fees. It is very resource intensive – electricity bill and computing power wise both. If you don’t have the computing resources then don’t do this. If you still want to help the network, you can utilize your computer to become a node and help the network. See question 1 for considerations.
What is a miner?
The miner does the heavy lifting of finding the correct hash and next block for you to earn coins. Finding the correct miner is necessary as an inefficient one will just waste power but get no returns. Example of a good miner is cgminer for bitcoin and ethminer for ethereum. Note: Miner is a word used for both the software and the person who is running miner on his computer. So, “miner using the miner cygminer” is common in cryptocurrency world – the first reference is the “person who is mining” while the second reference is the mining software.
What does “use your resource for yourself mean?
Here we are talking about solo mining. In this case you are mining for yourself and competing against all the miners in the world. So if there are 1000 miners with say similar computing power to yours then you have 0.1% chance of finding the next block. You need to have a blockchain copy on your computer to solo mine.
What is a mining pool?
The problem of solo mining is quite evident, not only there are lot of resources used, the probability of winning is low. This becomes even more problematic when there are people with more computing power than yours.
The alternative is pool mining. In this case, lot of people connect to a single server called the pool and use their resources collectively. So, if suppose 100 of the 1000 miners join a pool, they now have 10% chance of finding the next block. Everyone is paid according to the effort put in. If your efforts amounts to 20% of the total pool, you will get 20% of the block rewards once the pool finds the block.
The second advantage is you don’t need to download the whole blockchain. You can use the pool’s blockchain to mine. So unlike solo mining you save a lot of resources.
It is very important to find an honest pool. You can check for reviews on coin forums etc. You can get taken for a ride. Instead of getting 20% you may end up with 5% of payout only.
How to configure a miner?
As miner is a separate piece of software it needs to connect to the blockchain to start working. In solo mining, this is easy as the miner will mostly install and connect to the core software automatically. Things become a bit difficult when you are pool mining. First you need to find the pool address. Once you have that you can start you miner with the pool address followed by your wallet address.
Also published on Medium.