Bitcoin Cash's Scheduled Hard Fork Tripped Up By Software Bug

The bitcoin cash network forks after a bug emerged in the cryptocurrency's code during an upgrade, leading developers to put together a hotfix.

AccessTimeIconMay 15, 2019 at 4:41 p.m. UTC
Updated Sep 13, 2021 at 9:12 a.m. UTC
10 Years of Decentralizing the Future
May 29-31, 2024 - Austin, TexasThe biggest and most established global hub for everything crypto, blockchain and Web3.Register Now

A system-wide upgrade otherwise known as a hard fork appears to have split the bitcoin cash network in two.

Bitcoin Cash is the fourth largest cryptocurrency in the world and possesses a market capitalization of over $6 billion. The chain split occurred after the bitcoin cash network tried to upgrade to new software at block number 582,679, according to data from BitMEX Research's Forkmonitor tool.

As noted by a user on Reddit, one version of the software by bitcoin cash developer group – Bitcoin ABC – carried a code bug affecting the bitcoin cash mempool that was unrelated to the upgrade itself.

Similar to the bitcoin blockchain, bitcoin cash requires miners to validate transactions and append new blocks. The mempool consists of all pending transactions on the blockchain awaiting approval by a miner.

As stated by Reddit user "FerriestaPatronum":

"Looks like there was a small bug in the mempool-acceptance rules for after the [hard fork]...From what I currently understand, it looks like the operation count was being validated with the old rules, not the new one."

Since then, however, developers have released new code to fix the bug. According to data from CoinDance and comments from observers, the bug resulted in a string of empty transaction blocks prior to the fix.

Vin Armani – CTO of bitcoin cash application CoinText – reaffirmed to CoinDesk: "Blocks were going in empty for about an hour and a half. Now the mempool is clear and transactions are going into blocks normally. All is back to normal."

Yet it is unclear at this time how many nodes – that is, computer servers running Bitcoin ABC software – have upgraded to the fixed software.

In response to the issue, crypto exchange Poloniex announced that it was pausing withdrawals and deposits in light of the hard fork issue.

To this, Poloniex Exchange tweeted:

"BCH had an issue with the planned hard fork scheduled for today. As a result, we have disabled deposits and withdrawals for BCHABC until further notice. BCH core developers are working on it. Thank you for your patience."

A form of centralization

According to the R&D team of mining and pool operations for blockchain startup Navier, the majority of bitcoin cash miners use Bitcoin ABC software as opposed to other bitcoin cash software implementations such as Bitcoin Unlimited (BU).

“The majority of bitcoin cash miners use the ABC client rather than the BU client, so people were creating transactions and submitting them to the mempool faster than they could be written to a block and most of those blocks were empty, “ explained David Steinberg, the vice president of Navier.

Steinberg emphasized that having a diversity of software implementations could prevent similar glitches in code from tripping up the blockchain network.

Steinberg told CoinDesk:

“Having a single type of node is a form of centralization - you're trusting the codebase from the node type you've selected to keep working as expected. Ideally, miners would have multiple types of node available to submit to in case something like this happens again.”

Having “singularly popular protocol implementations,” according to Steinberg, are especially dangerous during hard forks.

“The fact the introduction of this bug coincided with the hard fork exacerbated the issue, since you must upgrade your node to participate in the fork,” explained Steinberg. “For normal incremental updates, not every node will be up to date as quickly, so a problem like this is more likely to affect only a small number of miners.”

As such, Steinberg concluded:

“I'd say the biggest takeaway here is that programmers make mistakes, and that even decentralized systems can be affected in unexpected ways by the tiniest bits of centralization, like relying on a single codebase.”

This is a developing story and will be updated. The excerpt of this story has been updated to clarify that the code bug was unrelated to the hard fork code itself.

Crossed fork image via Shutterstock 

Disclosure

Please note that our privacy policy, terms of use, cookies, and do not sell my personal information has been updated.

CoinDesk is an award-winning media outlet that covers the cryptocurrency industry. Its journalists abide by a strict set of editorial policies. In November 2023, CoinDesk was acquired by the Bullish group, owner of Bullish, a regulated, digital assets exchange. The Bullish group is majority-owned by Block.one; both companies have interests in a variety of blockchain and digital asset businesses and significant holdings of digital assets, including bitcoin. CoinDesk operates as an independent subsidiary with an editorial committee to protect journalistic independence. CoinDesk employees, including journalists, may receive options in the Bullish group as part of their compensation.


Learn more about Consensus 2024, CoinDesk's longest-running and most influential event that brings together all sides of crypto, blockchain and Web3. Head to consensus.coindesk.com to register and buy your pass now.