jspωiki
Proof-of-Work

Overview#

Proof-of-Work (PoW) is the Distributed Consensus used within Bitcoin's Blockchain

Adding Blocks [1]#

To add blocks to the blockchain, each node has to show that it has performed some amount of work, also known as Proof-of-Work (PoW). In Bitcoin, the node has to find a hash value that is less than a certain number, also referred to as the difficulty level set by the network.

The difficulty level is dynamically tuned by the Bitcoin protocol, which currently ensures that one block is produced every ten minutes. The process of solving the PoW puzzle to find a winning hash value is known as mining.

The first node to find a winning hash gets to add its proposed block to the blockchain and also claim the mining reward. Due to the distributed, concurrent nature of this process, sometimes more than one node is able to find a winning hash at the same time. Each winning node adds its own proposed block to the blockchain and broadcasts this over the peer-to-peer network. In such cases, there is a temporary fork in the blockchain, where some nodes are adding blocks to one branch, while other nodes are adding blocks to other branches, based on which winning node is closest to them. However, as more blocks are added to these forks, the protocol will ensure that the branch with the maximum PoW (i.e. the longest branch) will get included in the blockchain and others will be discarded. This leads to an Eventual consistency among all nodes regarding the state of the blockchain.

More Information#

There might be more information for this subject on one of the following: