Bitcoin Cash Hard Fork: Damage Control and Fixing the Bug
Bitcoin Cash underwent a hard fork to upgrade network security and add a few key features, as reported by BTCManger on 15 May, 2019. The hard fork went as per plan but a bug on Bitcoin ABC’s client rendered the chain non-functional for a few hours.
Bitcoin ABC Nodes Malfunction
Bitcoin ABC, one of the top clients to run a node on the Bitcoin Cash network, ran into trouble as an attacker found a bug that could compromise the network – as a functional inefficiency, not a security flaw.
The attacker, who waited till the upgrade to test the vulnerability, flooded the network with nearly 3000 transactions, each containing a staggering 133 inputs each. Each of these transactions had roughly 15 sigops; a single MB on the Bitcoin Cash blockchain can handle up to 20,000 sigops. Simply put, these transactions ended up halting the network because the ABC client wasn’t able to process the barrage of data.
The reason for the limit is because sigops, or count on signature validity checks, are the most expensive function to perform in the entire transaction process. By exploiting this limit, the hacker was able to bring the network to a standstill and cause miners to produce single transaction blocks despite the mempool filling up. The bug was eventually fixed by a patch/revision by ex-ABC developer Amaury Sechet, also known as Deadalnix.
Electron Cash developer, u/NilacTheGrim on Reddit, has constructed a transaction that will drain all of the attacker’s P2SH wallets. The network has completed 11 blocks and automatic checkpoint is now implemented – eliminating the fear of a reorg by the unknown miner with a large amount of network hash power.
Reactions to the Attack
A known neutral and Bitcoin Cash supported, Emin Gün Sirer, has lauded the developers for quickly patching the software and for being a part of a community that is radically upgrading rather than stagnating.
https://twitter.com/el33th4xor/status/1128689209173258241?s=20
BitMex Research provided continuous updates on the event and recommended users not to use the network until the bug completely patched.
Bitcoin Cash – The hardfork and all the events summarized in one picture
In the below image we have attempted to illustrate all the relevant events:
* The hardfork
* A chainsplit (With asymmetric validity conditions)
* A bug causing empty blocks
* A non-consensus re-org pic.twitter.com/RX3V29nyMQ— BitMEX Research (@BitMEXResearch) May 15, 2019
Gabriel Cardona, a Bitcoin Cash developer, also gave his view on Bitcoin Cash’s resilience to this attack.
https://twitter.com/cgcardona/status/1128781526173249536?s=20
Overall, it seems Bitcoin Cash was able to successfully counter this attack and did some damage to the attacker in the process. The network is now functioning as it should with many confirmed Schnorr transactions on the blockchain.