Hacker News new | ask | show | jobs
by wsr 3975 days ago
This might be a silly question, but why was there a fork in the first place? The article wasn't as clear on explaining that part. Can someone else elaborate on that part?
2 comments

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.

All Bitcoin mining clients have to be bug-for-bug compatible with every other client or else you get forks like these. I think the fork in question was caused by a miner running a recently released version (v8.0) of the software who mined a large block that was incompatible with the older versions (<0.7x) of the software.

The miners running the old software didn't recognize the block and instead created their own chain while miners with the new version were working off of that newly mined block.

https://bitcoin.org/en/alert/2013-03-11-chain-fork