Cryptocurrency
How a Bitcoin Core Developer Saved Bitcoin Cash
On April 25th 2018, Bitcoin Core developer Cory Fields ‘privately disclosed’ a critical bug in the Bitcoin Cash consensus network. Cory works for a Digital Currency Initiative at the MIT Media Lab. This group is tasked with researching and developing cryptocurrencies. Many of the current Proof of Work cryptocurrencies are simply forks of bitcoin with […]
On April 25th 2018, Bitcoin Core developer Cory Fields ‘privately disclosed’ a critical bug in the Bitcoin Cash consensus network. Cory works for a Digital Currency Initiative at the MIT Media Lab. This group is tasked with researching and developing cryptocurrencies. Many of the current Proof of Work cryptocurrencies are simply forks of bitcoin with various improvements and alterations. Since all of these projects are open source, many of these upgrades were applicable to improving the initial bitcoin source code.
Cory explained in a medium article, “I’ve acquired a habit of going through some of those projects’ changes every few months to look for any bugfixes that might also be relevant to Bitcoin Core.”
The origin of the bug came as a result of refactoring the initial Bitcoin Cash source code. In computer science, refactoring code simply refers to the rewriting of existing source code. This process is meant to simplify the existing code so it is easier to explain and modify without changing the actual behavior of the code. This refinement process consists of removing unnecessary code while making other lines more effective and easier to read. After the refactoring process, Cory noticed a discrepancy in the refactoring of the Bitcoin Cash transaction validation source code. This refactoring within the code seemed very suspicious considering how seemly unnecessary the refactoring was. Additionally, code was reviewed by only two other developers and was approved in less than a week after its initial release. After recognizing this suspicious code, Cory went exploring and discovered the ‘SIGHASH_BUG’ less than ten minutes into his search.
Cory explains that this error would have allowed a “specially crafted transaction to split the Bitcoin Cash blockchain into two incompatible chains. The result is a “chain split,” and it means that only the subset of participants who have upgraded their software will accept the transaction in question.” Ultimately, this error makes transacting irregular and eliminates the utility of the Bitcoin Cash network.
Overall, the cryptocurrency space is about progression as a whole. Luckily, Cory fields disclosed the problem responsibly and the Bitcoin Cash network was corrected. Responsible disclosure is essential when discovering a critical vulnerability in a cryptocurrency. Under no circumstances should the news of a potential flaw be leaked to the public. If a bug is exposed before it is corrected, hackers will exploit the network and the utility of said network will cease to exist. Overall, this event should underline the importance of displaying good morals in an industry with ever-evolving open source technologies.
Disclaimer: I am not a financial advisor, this is not financial advice. Please do your own research and make objective decisions. This article is intended to educate readers on the SIGHASH_BUG disclosed in Bitcoin Cash. The author of the article owns cryptocurrency.
Sources
https://medium.com/mit-media-lab-digital-currency-initiative/http-coryfields-com-cash-48a99b85aad4
https://www.youtube.com/watch?v=oiNm7ZilryE&t=632s&ab_channel=IvanonTech
