This has been one of the most controversial issues in cryptocurrency. The Bitcoin Cash Hardfork emanates from this issue of what amounts to basically a setting in a config file.
The issue was real back then with Bitcoin only having a 1MB (megabyte) blocksize. You would think 1MB could store a lot of transactions and this was fine until Bitcoin exploded and began to be used by millions worldwide (something not exactly expected or planned for by the original devs). Bitcoin can only do 7 transactions per second which is way too slow and what was happening is that the entire block was already fully utilized as soon as it was mined. It would be like your banks ATM or POS machine crashing before you could do a transaction. In other words Bitcoin was overloaded and couldn’t keep up with the transactions that were being demanded causing slow processing that could take days to send some Bitcoin!
Some of the devs felt that this wasn’t an issue and wanted to keep things the same as Satoshi created them (with the 1MB blocksize). They felt Bitcoin was never meant to be used for payments such as a cup of coffee and that very slow transactions weren’t an issue. They also voiced concerns that a larger blocksize would stop people from running full nodes and increase centralization since a larger blocksize requires more computing power.
The Bitcoin Cash team disagreed and did a hardfork which is essentially a copy and counterfeit of the original Bitcoin. The only real change they made was the blocksize to 8MB which means faster and cheaper transactions than the original Bitcoin.
There were problems initially with potential reply attacks since to get this Bitcoin Cash you have to use your real Bitcoin wallet/private keys to receive it. This meant that nefarious wallet creators could steal your coins from the real Bitcoin network if you didn’t move your original coins to another wallet first. There is also the threat of a replay attack. Replay attacks work on the fact that both chains are identical. If you send a transaction on one chain, an attacker could see it and then broadcast the transaction on the other chain to their own address.
This is one big reason I don’t like hardforks aside from the confusion, scams and devaluation, it’s one more huge problem to have a reply attack.
These issues are why I believe hardforks shouldn’t be possible. If it means the blockchain is not 100% open source and permissionless then this is acceptable. Open Source is currently what makes most currencies vulnerable. Let’s take it back to the secure, traditional IT methods of a secure server vs client model (where the secure server should be Bitcoin or whatever currency we are talking about).
My money is on the real Bitcoin. Bitcoin Cash could have been interesting if they did more than just increase the blocksize and didn’t copy the blockchain. I pick the original Bitcoin for the long run.