This is one article in a collection of 52 articles published weekly throughout 2023 on the basics of Bitcoin. The series is intended for people unfamiliar with Bitcoin or people wishing to enhance their understanding of the fundamentals that underpin the technology. Please contact us, if you have any questions or comments.
As we discussed in our previous publication, the Bitcoin network is decentralized. Consequently, there is no central authority that controls the decisions of the network and, importantly, there is no single point of failure. Instead, the Bitcoin network is controlled by its network of nodes.
While the number of nodes operating on the system is unknown for a variety of reasons, there are more than 10,000 reachable nodes operating world-wide. The nodes form a network and, among other things, transfer information regarding blocks and other data such as software updates. The nodes across the network validate each newly mined block and spread the news of the newly mined block across the decentralized network. If a miner is dishonest with regard to the block it mined, the nodes will reject the block so there is only an incentive to publicize blocks that have actually found a nonce and awarded themselves the proper block reward (currently 6.25 bitcoin per block mined plus the transaction fees) that meets the target hash value criteria.
Once a node receives news that a new block has been mined it validates that block by checking the contents of the block against a list of criteria which all must be met or else the block is rejected. Some of the items the nodes check to confirm the block:
- The block structure is syntactically valid;
- The hash value of the block header is less than the target hash;
- The block timestamp is less than two hours into the future (the two hour time distance allows for an ample amount of leeway);
- The block size does not exceed the 1MB limit; and
- The block reward provided to the winning miner is correct.
If, and only if, all the criteria listed above and some other criteria that are beyond the scope of this paper are met, will the node attempt to add the block to the existing blockchain. The node will try to place the new block on top of the parent block by looking for the previous block’s hash header. Remember, part of the block header is the previous block’s header hash. Once the node confirms the new block is authentic, the node will communicate the block to other nodes. Eventually every node throughout the system will become aware of the new block.
It is possible that different miners find a hash value that meets the criteria of the target hash at or close to the same time. In that circumstance, each miner will publicize its solution to the nodes in the system. The Bitcoin protocol states that the chain with the greatest difficulty will be the winner (in other words the longest chain or the blockchain with the greatest height). Temporary discrepancies in separate chains that have separate blocks are resolved when the nodes select to extend one of the chains with the next mining block. Once a block is six blocks removed from the top of the block chain (in other words six blocks have been mined after the block in question), the block is considered immutable on the blockchain