2.5 Bitcoin Blockchain: Mining in Bitcoin Blockchain
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
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