Bitcoin ABC announced on May 07, 2018 that a major security bug had been discovered in its software by an anonymous developer. The bug could have been exploited by any hacker to add a new malicious transaction to the mainchain, which would have been rejected by all previous currencies besides Bitcoin ABC 0.17.0.
Description of the Bug
Bitcoin ABC released a patch for the bug that was discovered on April 26, 2018. The vulnerability could potentially have had a negative effect on all miners in the network. Developers of the cryptocurrency released a statement soon after the bug was disclosed, recognizing that such a flaw would have split the Bitcoin Cash mainchain into two.
Miners in the network are responsible for ensuring that the network runs smoothly. A new transaction is permanently recorded on the network by first being included in a block. Miners then mine this new block containing several transactions. The newly mined block is then added to a list of already-mined blocks, thus forming a chain of them.
Miners in the network carry out their work exactly as per the network consensus rules. In the event of the consensus rules being affected by a bug, an attacker could exploit it to add a new illegitimate transaction, effectively splitting the mainchain.
As declared in the statement, “BUCash and versions of Bitcoin-ABC prior to 0.17.0 could be split from the majority Bitcoin Cash blockchain. Only Bitcoin ABC and BUCash nodes were included in the analysis of this vulnerability.”
The statement went on to read that the Bitcoin ABC community and developers soon found a patch to the bug after it was brought to their notice. “After analysis of the vulnerability and possible responses, Bitcoin-ABC developers prepared a patch for the vulnerability, and a private release, to distribute directly to mining pool operators,” said the release.
Releasing the patch to every miner in the network individually was not possible due to the decentralized model of mining. The release was then provided to verified miners who were asked to forward it to other trusted miners.
The Bitcoin ABC 0.17.0 version is the current and up to date version which all miners must upgrade to. It must be noted that the patch was released just a week before the scheduled May 15, 2018 upgrade.
May 15 Network Upgrade
Bitcoin Cash will undergo a scheduled upgrade of consensus rules from version 0.17.0 to 0.17.1. The upgrade will add support for several new opcodes for Bitcoin Cash as well as support for 32MB blocks, up from the current block size of 16MB.
Bitcoin Cash supports block sizes of up to 16MB. Bitcoin, on the other hand, supports block sizes only up to 1MB. On May 15, 2018, the upgrade will roll out support for implementing block size of 32MB. During December 2017, when bitcoin prices hit a record high of $20,000, high transaction fees made it financially unviable for sending small micro payments.
The release said, “The upgrade is based on the “Median Time Past” (MTP) method, activating on the MTP time of 1526400000 (Tue May 15 16:00:00 UTC, 2018). In other words, when the median timestamp of the most recent 11 blocks is equal to, or greater than 1526400000, the new consensus rules shall be automatically applied to the next block. The exact time of activation depends on the time this block is found.