One of the main points of concern following the recent Bitcoin Cash hard fork and subsequent network split is the lack of replay protection. In theory, the SV team would be able to reorganize the ABC chain if they ever intended to do something nefarious. That is no longer a possibility, as the ABC developers introduced a checkpointing system. While that is a solid decision, it has also received a lot of flack over the past few days.
The BCHABC Checkpointing System
When two “versions” of the same blockchain exist, an interesting situation is created. Miners and developers on each chain can exert full control over a competing chain. This is very unlikely to ever happen, but one can never dismiss such a possibility in the slightest. This uneasy situation can be quite problematic for wallet providers and exchanges, as they risk falling victim to “fraud” in the cryptocurrency world.
To address this problem, two possible solutions exist. Either ABC or SV becomes the longest chain, or a code-based solution is introduced. Considering how both chains are still quite similar in terms of block height and hashing power, it seems unlikely either one of them will become the “outspoken” dominant chain. As long as there is no insurmountable block gap between the two, the situation remains subject to change at all times.
As a current measure, the Bitcoin ABC developers decided to begin introducing a checkpointing system. To put that into perspective, all nodes running the new 0.18.4 client will confirm the network cannot be rolled back in a major fashion. This is an important step toward ensuring both chains can survive as long as no clear winner has emerged. This checkpointing system is a bit limited in nature, for the time being.
With ABC releasing 0.18.4, the exchanges can feel safe to resume deposits ane withdrawals as long as they have split their wallets. There is no longer a risk for big re-orgs och someone rolling back the chain to a pre-fork state.
— Emil Oldenburg (@emilolden) November 17, 2018
More specifically, the system ensures no major reorganizations of blocks can occur. For short-term reorganizations however, it does not provide much support. This raises a lot of questions as to whether or not such checkpoints need to be introduced every X amount of blocks found. While that is an intriguing idea, it is this approach which also appears to infuriate a fair few supporters.
At the same time, this checkpointing system is relatively centralized in nature. This is an unappealing trait for a network that is supposed to be as decentralized as possible. Some users even go as far as claiming these checkpoints can undermine the consensus rules of the network, which would be in stark contrast to how Satoshi Nakamoto wanted Bitcoin to turn out.
As is always the case in the cryptocurrency world, protecting a cryptocurrency network from major harm will need to be done in many different ways. While this particular approach to potential block reorganization is problematic first and foremost, this solution seems to check a lot of boxes in terms of security. The centralized nature of such an implementation seems to indicate it was a rushed decision though, and how it will remain a topic of debate for some time to come.