What does it mean to mine cryptocurrency? Mining cryptocurrencies is when transactions are verified and added to the blockchain to that vast, completely public ledger.
The mining process is a critical element that allows cryptocurrencies to function as a decentralized peer-to-peer network. Moreover, it happens without a third central authority for new crypto coins to be born.
Bitcoin is the most popular and well-established example of a mineable cryptocurrency. Bitcoin mining work on a consensus algorithm called Proof of Work.
And not all cryptocurrencies are mineable. So now, let’s try to understand what it means to mine cryptocurrency and how the mining process works from a technical point of view.
What happens during the mining process? Understand what it means to mine cryptocurrency
Whenever users make transactions, all nodes in the network receive them and verify their validity. The efficient miner nodes then collect these transactions from the memory pool and assemble them into a block.
The first thing the miner node does is to add a transaction where you send the mining reward (block reward). Then start mining. The first thing that happens to the block when a miner mines it is that each block is hashed individually and transactions taken from the memory pool. The name of the transaction that rewards the miner is “coinbase transaction.”. It is a transaction in which coins creation is “out of thin air.”. In most cases, the coinbase transaction is the first transaction in a new block.
After transaction analysis, the hashes are organized into a Merkle Tree, formed by matching the two-by-two transactions and analyzing them. The outputs are then organized into other pairs and subjected to a different hash. So it goes on until they reach “the top of the tree.”. The top of the tree name is the root hash (or Merkle’s root). It is a single hash that represents all the previous hashes used to generate it.
The root and hash of the previous block and a random number called nonce go inside the block header. The block header is then hashed. Finally, it produces an output based on these elements (hash of the root, hash of the previous block, and nonce). The resulting work is the block’s hash and will serve as the identifier of the newly generated block (candidate block).
The output (hash of the block) must be less than a specific target value determined by the protocol to consider it valid. In addition, the block’s hash must begin with a certain number of zeros.
The protocol regularly adjusts the target value, also known as hashing difficulty. Thus, it ensures that the rate of new block creation remains constant and proportional to the amount of hashing power dedicated to the network.
As new miners join the network and competition increases, and the hashing difficulty will increase. It prevents the average block time from decreasing. Conversely, if miners decide to leave the network, the hashing difficulty will drop. It keeps the block time constant even if there is less computing power dedicated to the network.
The mining process requires miners to keep hashing the block header repeatedly. They iterate it through the nonce until a network miner finally produces a valid block hash. When miners find it, the founder node transmits the block to the network. Next, all the other nodes will check if the mathematical function is valid. If so, they will add the block to their copy of the blockchain and extract the next block.
Sometimes, two miners transmit a valid block simultaneously, and the network finds itself with two competing blocks. So the miners start mining the next block based on the block they received first. Competition between these blocks will continue until the next block extraction is based on one of the competing blocks. When miners abandon a block, it becomes an “orphan block” or “stale block.”. The miners of this block will return to mine the cryptocurrencies.
The miner who first discovers a valid hash gain the block reward. The probability of finding it works on a simple formula. It is equal to the portion of the total extraction power on the network. Thus, miners with a small percentage of mining power have a minimal chance of discovering the next block independently. Miners created mining pools to solve this problem. It means pooling miners’ resources, who share their processing power over a network, to equally divide the reward among all pool members, based on the amount of work they contribute to the likelihood of finding a block.