Bitcoin Cash: Attack Ensures Incident at Hard Fork | BTC-ECHO
It was a small shock to the Bitcoin cash community: the planned implementation of the Hard Fork at block height 582,600 initially followed by nine transaction blocks that did not receive any transactions. An attacker tried to exploit a bug in Bitcoin ABC since November 2018 – without success.
The BitMEX Research cryptanalysts immediately reported this to Twitter.
It seems like there may be a problem with the Bitcoin Cash Hard Fork upgrade, the number of Txs (transactions) per block is low (0 in the last nine blocks, except the Coinbase txn). Our mempool has 1,622 txs.
Below the chart is the number of Txs per block and the orange line shows the hard fork point.
It appears as if there is a problem with the Bitcoin Cash hardfork upgrade, the number of txs per block is low (0 in the last 9 blocks, other than the coinbase txn). Our mempool has 1622 txs
Below is the number of txs per block and the orange line is the hardfork point pic.twitter.com/UR3jQuN6Zm
– BitMEX Research (@BitMEXResearch) May 15, 2019
Shortly thereafter, the error was identified. This is an older bug in the ABC implementation of Bitcoin Cash. This concerned the rules for adding transactions to the mempool, the "waiting room" for valid transactions still waiting to be merged into blocks. The nodes store transactions in the mempool before combining them into blocks.
The node uses the OP_CHECKDATASIG command to check how many signature checks have already been performed for a transaction. Among other things, it is important for the selection of transactions how often their signature has already been checked, that is: the number of "sigOps". The permitted number of sigOps, which may contain one block in total, is limited. This has, among other things, the background that a miner can only very slowly confirm a block with very many sigOps.
Bug exists since November hard-fork of Bitcoin Cash
Put simply, the ABC nodes have registered the wrong number of sigOps. Bitcoin Verde developer FerriestaPatronum points out to Reddit that the bug could have caused problems at any time since the November fork of BCH.
This scenario could have taken place any time after the introduction of OP_CHECKDATASIG. By creating many transactions using only OP_CHECKDATASIG and then outputting them all at once, you would create blocks containing what the Mempool considers to be very few sigOps, but where there are far too many sigOps everywhere else. Instead of mining an invalid block, the mining software decides to mine an empty block.
Attacker knew about bug
The attacker must already have had knowledge of the bug for a long time, without sharing it with the rest of the BCH community. At least that's what Cornell professor Emin Gül Sirer, who also questions the timing of the attack, assumes.
Someone spent months sitting on this mistake and decided to take advantage of it during a planned upgrade. It is quite immature, but also a great reminder that this is a space with Byzantine actors, and we must pay great attention to the correctness of the software.
Someone is sitting on this bug and choosing to use it during a scheduled upgrade. It's pretty juvenile, but so, this is a space with byzantine actors, and we must pay close attention to software correctness.
– Emin Gün Sirer (@ el33th4xor) May 15, 2019
Immediately after the discovery of the bug, a patch was released for its removal. ABC node operators are now required to install it immediately. The other Bitcoin Cash implementations, namely Bitcoin Unlimited, were not affected by the bug.
The Bitcoin cash price was not impressed by the incident, on the contrary. The day after the Hard Fork, he stands with a daily gain of just under nine percent (at the time of going to press) at $ 416. The BCH price has thus increased by 45 percent in the past 30 days.
Blockchain & Fintech Jobs: Looking for a new challenge? In our Job Market Find current jobs from Blockchain & Fintech companies.
Be sure not to miss any important news related to Cryptocurrencies! Follow our news feed in the way you prefer; through Twitter, Facebook, Telegram, RSS or email (scroll down to the bottom of this page to subscribe). Bitcoin never sleeps. Neither do we .