Blockchain fork
In the previous section, we discussed how miners complete mining work, that is, complete proof of work. In this section, we will discuss how the entire Bitcoin network works after the miners complete the new block and broadcast it.
- Independent verification of new blocks
Every Bitcoin node (including miners) that has a forwarding function will first verify whether the new block is valid when it receives a new block from other nodes. The verification content is as follows:
Block data structure syntax is valid
The block header Hash value is less than the difficulty value (Target) (the proof of work is valid)
The block timestamp is two hours ahead of the verification time (due to the time difference between nodes and network transmission time, the blockchain usually allows a certain error in the timestamp)
The block size is within the acceptable range (1000KB without Segregated Witness)
Only the first transaction in the block is a coinbase transaction
All transactions in the block meet the conditions for transaction verification (refer to in-depth Bitcoin Principles (10))
Why does each node independently verify the block?
Independent verification is the basis of decentralization. Our transactions in daily life are usually verified by banks as the center. All nodes in the Bitcoin network are equal, and verification is jointly participated by all nodes. This is a manifestation of Bitcoin's decentralization.
- Independent verification of blocks can prevent invalid blocks from being widely spread in the Bitcoin network.
- Independent verification can prevent a small number of nodes from colluding to cause invalid blocks to be accepted by the network.