What Is Mining?
New coins are generated, or “mined”, by a network node each time it solves a specific and difficult mathematical problem. In technical terms, mining involves calculating the hash of a block header. This header includes a reference to the previous block, a hash of a set of transactions and a unique 32-bit value called a “nonce”. Coin blocks are generated every X minutes(coin dependent), in a process that will continue until total the amount of the coins are created(coin dependent).
For most users of cryptocurrencies it is not necessary to understand how the mining process in itself works, but it is fundamentally important to understand that there is a mining process to create the virtual currency.
Unlike currencies as we know them today where governments and banks can simply choose to print unlimited amounts, cryptocurrencies has to be mined by users using a mining program that solves sophisticated algorithms in order to release blocks of coins that can go into circulation.
This is part of what makes the cryptocurrencies unique, as there is nobody who can simply press a button and get unlimited coins. Everybody can compete equally while mining coins, by buying the same equipment as one another. The different cryptocurrencies uses different types of algorithms in order for the blocks to be released, but in general it is not something that you should be using your computer to do as it takes specific equipment to mine and it will provide you with a huge electricity bill compared to the profits you will be able to make from it.
It is also worth noting that the more coins that has been mined from a cryptocurrency, the more difficult it gets to release new blocks and thus get new coins. The algorithms has been made this way, to ensure that all the coins would not be mined instantly and leave room for the currency to stabilize and not be over populated from the beginning, thus not having any significant value for anyone besides the miners.
Cryptocurrencies have a limited amount of coins that can be mined and once they have all been mined, there will be no more of them being created as it is virtually impossible. This means that when all 21 million Bitcoins has been mined, they will be the only coins in circulation forever and no further Bitcoins will be added to the system. Same goes for all other cryptocurrencies, which is why many people see them as a good alternative to the currencies we have today that is based on nothing but goodwill between countries in order to ensure the value of the currency doesn't fluctuate.
There are two simple steps in the mining process for cryptocurrencies, which we will be describing below as user-friendly as possible. Please bear in mind that we do need to use some technical terms in order to correctly describe how it works.
Cryptocurrency Mining Program:
The very first thing you need in order to start mining coins is to obtain the mining program that is associated with the cryptocurrency that you want to mine. Simply download the mining program, install it and you are ready for the next step.
When you first download the mining program it will have to connect to the network and synchronize with it. This can take everything from a few minutes and up to several hours, depending on how many blocks you need to solve first before you can synchronize. Once the synchronization is done then you are basically ready to mine.
All you need to do from here is to go to the mining part of the wallet, enter the values you want to have and press the "start mining" button. The system will then begin to "mine" for coins and depending on your system you will see some results within a couple of days. There are a lot more to mining in general, which we have covered in the How To Mine article, where you can read about hashes, blockchain and much more.
Lets start our algorithm explanation with the basics.
Most coins are mined in 1 of 3 ways regardless of the specific algorithm used.
This is exactly what it sounds like: you earn coin and transaction fee rewards according to the number of blocks you mine successfully. Once a miner or miners has completed the satisfactory mining of a data block, they earn a number of coins, a share of the transaction fees contained within that block, or a combination of the two. This type of mining requires an investor to take an active part in mining data blocks, which helps verify transaction data and create new coins. With proof-of-work mining, if you don't put in the effort to mine, you won't earn anything extra.
In the truest sense of the word, this isn't actually “mining” per se, since there isn't any additional work required on the part of the investor. All you have to do to earn with this method is to hold coins in a given type of digital currency. Your earnings are based upon the number of coins, or “stake,” you hold. The more you invest, the more you are likely to earn. The advocates of this method like to point out that it provides for higher currency security, for those who invest more heavily are more likely inspired to see it succeed. This method is very rarely used alone, for it doesn't provide for any actual mining to take place.
POW / POS Hybrid:
Some coins run POW and POS concurrently while others begin as POW then moves to a POS model after a certain period of mining is completed.
Each cryptocurrency developer has made a decision regarding which algorithm they wish to use to mine their coins. The two oldest algorithms are SHA256 and Scrypt, both continue to maintain the majority of the hashing power.
Below is a comprehensive list of the current algorithms in use. Although completely understanding the technological differences between algorithms isn't necessary at this point, it's good to have an idea of the number of variations.
The SHA-256 algorithm was the first algorithm used with a cryptocurrency. Bitcoin is based on SHA256. SHA-2 which the SHA-256 is under is created by the National Security Agency (NSA) and was published in 2001. SHA stands for Secure Hash Algorithm, which makes fine sense for cryptocurrencies as you will need to solve the hash algorithms in order to release coins.
Scrypt is a key derivation function which was created by Colin Percival, created to require large amounts of memory on a computer performing large scale custom hardware attacks. It was released in 2012 and was quickly used by cryptocurrencies for mining coins as another way than the SHA-256 algorithm that Bitcoin used.