As part of its due diligence and verification activities, Catallaxy conducts an in-depth analysis of blockchain DNA, including the accuracy of recorded data, as well as all of the risk factors associated with implementing a blockchain. Following its technical analysis procedures, Catallaxy recently unearthed a bug in the Ethereum cryptocurrency blockchain.
In December 2018, during a due diligence review of the Ethereum blockchain, the Catallaxy team discovered a problem with the accuracy of certain information. By comparing its results with other sources, Catallaxy discovered that not all the results were the same—one information provider, the Russian company Blockchair, had different data for the “gas” value (the fees paid in Ethereum) on certain blockchain transactions in recent years.
Dr. William Robinson, Senior Manager at Catallaxy and blockchain expert, explained how they began suspecting a problem with Ethereum: “We pay sources to provide us with their views on blockchain data. It was by testing data from our different sources, including Blockchair, that we noticed inconsistent results.” As Ethereum is one of the most widely used cryptocurrencies, it was very important to investigate this difference in information reported by the various suppliers about the quantity of “gas” spent on certain transactions in previous years.
Catallaxy’s motto: Don’t trust. Check.
Catallaxy then came up with the hypothesis that some information providers were mistaken. “But since we’re committed to finding quality sources and rigorously verifying our information, we obviously wanted to test our hypothesis,” explained Dr. Robinson. When verifying, Catallaxy found that “some suppliers’ data were themselves contradictory and no one really knew what caused it.” This prompted Catallaxy to delve further and share the problem at the Stanford Blockchain Conference, shortly after the bug had been discovered.
A change of protocol at root of the problem
In the early years of Ethereum’s operation, when the network was asked to do something impossible, it charged fees to avoid wasting time with these bad transactions. Over time, Ethereum abandoned this penalty system, which made exchanges more cumbersome. This is when the transaction validation protocol was changed. “When the API system was reading the content of the old blocks, because the software had not been corrected at the time of the protocol change, it applied the wrong protocol by reading the old data.” As a result, all the sources that validated transactions were using new software that read old data with the new protocol, making the data inconsistent. “What we discovered is that the code issued by the Ethereum community itself was wrong, and that the Ether reader, the most important of Ethereum’s readers, was also wrong, largely because it used the Ethereum code,” stated Dr. Robinson.
Take nothing for granted
Even if the blockchain is transparent, it is essential to always check the data to prevent errors and, as in this case, generating false amounts for Ethereum held by some individuals. It was only at the end of its verifications that Catallaxy was able to sort out the problem and discovered that it was the Ethereum community that was in error in the way it calculated information before the protocol changed. A month and a half after posting the bug at the Stanford conference, the bug was fixed by the Ethereum community. “It was easy to fix the problem, simply by telling the API systems to read the data from the old blocks using the old protocol. Now, everyone agrees on this aspect of the protocol and about the information recorded in the past on the blockchain,” concluded the Catallaxy expert.