The mining algorithm consists of the following steps.
- The previous block's header is retrieved from the bitcoin network.
- Assemble a set of transactions broadcasted on the network into a block to be proposed.
- Compute the double hash of the previous block's header combined with a nonce and the newly proposed block using the SHA-256 algorithm.
- Check if the resultant hash is lower than the current difficulty level (target) then PoW is solved. As a result of successful PoW the discovered block is broadcasted to the network and miners fetch the reward.
- If the resultant hash is not less than the current difficulty level (target), then repeat the process after incrementing the nonce.
As the hash rate of the bitcoin network ...