How did Bitcoin Cash fork from Bitcoin?

1

I was wondering how it was possible because of the following thinking:

Let's assume that Bitcoin Cash's hashpower is smaller than Bitcoin's. Then they would start mining at the same point in the Blockchain and one of them would find the next block. If it were Bitcoin's, both would mine from this new block because both would accept the new block. If it were Bitcoin Cash's, then Bitcoin would ignore the new block and a fork would happen.

But, as Bitcoin would, on average, find more blocks than Bitcoin Cash, and their blocks are accepted by Bitcoin Cash, the fork would never really occur because the longest valid chain would be Bitcoin's.

Bitcoin Cash miners would be flipping between their and Bitcoin's blockchain.

What am I missing?

msbrogli

Posted 2018-02-20T17:10:59.437

Reputation: 113

Answers

3

But, as Bitcoin would, on average, find more blocks than Bitcoin Cash, and their blocks are accepted by Bitcoin Cash, the fork would never really occur because the longest valid chain would be the one made by Bitcoin Core.

Bitcoin Cash changed their consensus rules to ensure that the fork occurs. In particular, the forking block needs to be larger than 1 Megabyte as this makes the block invalid on the Bitcoin blockchain. Likewise Bitcoin blocks at that particular point in time will be less than 1 Megabyte in size so Bitcoin Cash nodes won't switch to using the Bitcoin blockchain as it violates their consensus rules.

Andrew Chow

Posted 2018-02-20T17:10:59.437

Reputation: 40 910

Thanks! But what would happen if there were no transactions enough to a block be bigger than 1MB? Would they pad the block?msbrogli 2018-02-22T03:58:18.107

3Their plan was to pad the coinbase transaction with garbage data in an OP_RETURN output to make the block size larger than 1 MB.Andrew Chow 2018-02-22T04:13:48.467

4

The blocks Bcash miners find are not compatible and are thus completely ignored by Bitcoin nodes. Might as well not exist at all.

Any node that tries to pass a Bcash block to a Bitcoin full node will immediately be banned.

Bcash software was also altered to ignore Bitcoin blocks, otherwise it would indeed still have a problem.

Jannes

Posted 2018-02-20T17:10:59.437

Reputation: 5 823

Do you know how BCash was altered to ignore Bitcoin blocks? What was exactly changed besides the blocksize?msbrogli 2018-02-20T20:40:39.900

The block size is the primary change. They also changed how signatures are generated for transactions, and changed the difficulty adjustment algorithm.Andrew Chow 2018-02-22T00:44:39.360