Bitcoin Mining Process
Bitcoins are created by the process of mining
- Autonomous check of every transaction:
- Each Bitcoin node that gets the transaction will initially verify the transaction.
- Every node confirms each transaction against a long agenda of criteria.
Independent aggregation of transactions into new blocks:
Miner nodes aggregate the transactions in a candidate block
Each node fabricates a pool of valid, however, unconfirmed transactions known as the transaction pool, memory pool or mempool
Unlike other nodes, the miner node will then aggregate these transactions into a candidate block
- Miner node is listening for transactions trying to mine a new block and also listening for blocks discovered by other nodes
- As the miner node is mining, it receives a block (say 273816) through the Bitcoin network. The arrival of this block signifies the end of the competition for the block
- While the miner node was searching for a solution to block (273816), it was also collecting transactions in preparation for the next block (273816)
- By now it has collected a few hundred transactions in the memory pool
- Upon receiving block (273816) and validating it, the miner node will also check all the transactions in the memory pool and remove any that were included in a block (273816)
- Whatever transactions remain in the memory pool are unconfirmed and are waiting to be recorded in a new block
- The miner node immediately constructs a candidate for block (273817). This block is called a candidate block because it is not yet a valid block, as it does not contain a valid proof of work
- The block becomes valid only if the miner succeeds in finding the solution to the proof of work algorithm
Miner nodes start solving the mining puzzle:
- The mining node constructs the block header using the following fields: version, Merkle root, previous block hash, difficulty target, nonce
- The goal is now to find a value for the nonce that results in a block header hash that is less than the difficulty target
Since miners use their valuable resources to validate the block, they are given a monetary award. Successful miner is rewarded with newly created Bitcoins. The block reward is halved every 210,000 blocks or every four years
- Independent confirmation of new blocks by each node:
- In Bitcoin’s consensus mechanism, each new block is validated independently by every node on the network which ensures that only valid blocks are propagated on the network
- Nodes validate the block by checking it against a long list of criteria that must be met
- Independent selection by every node of the chain with the most cumulative computation:
- By choosing the greatest difficulty chain, all nodes, in the long run, accomplish a wide consensus
- Brief errors between chains are settled in the long run as more proof of work is included by broadening one of the conceivable chains
- Mining nodes vote with their mining power by picking which chain to extend by mining the next block