Hacker News new | ask | show | jobs
by scrupulusalbion 3974 days ago
A fork on the blockchain will only ever occur if one or more nodes are operating on different rules; the danger of a fork is proportional to the number of nodes that differ on those rules, because it would waste miner resources.

Suppose Node A thinks that a block should be no larger than 1MB, but Node B thinks that a block can be as large as 2MB. When a client presents a 1.5MB block to both nodes, Node A rejects it for being too big but Node B accepts it for being small enough. Since clients and miners ask for new blocks from nodes, anyone that asks for blocks from Node A would not get the 1.5MB block, but would get it if they had asked Node B. If 10% of node agree with Node A, then the 1.5MB block could be gotten by a lot of clients and miners, but not all. If 50% agree with Node A, then you have a serious problem in which a lot of people are not going to get the 1.5MB block and a lot of miners will spend their time on it for probably no ultimate benefit.

Thus, the problem does not really begin until any miners start accepting blocks from the chain of blocks that will eventually be rejected by the network generally. Unfortunately, there is no way to tell ahead of time which is the right side of the fork, but this could last for hours. So, fork detection is critical to avoidance of wasting precious mining resources.