A few days ago, the Bitcoin.com mining pool ran into an unexpected error. A block larger than 1mb in size was generated due to a bug in the latest Bitcoin Unlimited client code. The situation was rectified quickly, yet sparked a lot of questions. The BU unlimited took the time to write up an official explanation of this event, although it should not repeat itself moving forward. It is good to see developers take this problem seriously, even though no major damage has been done.
Two days ago, the Bitcoin community was in a state of panic. Allegations were circulating on Reddit regarding how Bitcoin Unlimited attempted to hard fork the blockchain. It turns out that was not the case, even though it could have been a possible outcome. Due to a bug in the latest Bitcoin Unlimited client, a block larger than 1mb in size hit the network. Such an event could have catastrophic events, yet the damage was contained. Unfortunately, the Bitcoin.com mining pool lost over 10 bitcoin in the process.
An Explanation of the Bitcoin Unlimited Incident
As it turns out, a bug was found in the Bitcoin Unlimited GitHub repository. This bug is the exact same that caused a bitcoin fork back in 2013. The bug changed the amount of space reserved in the coinbase transaction when a block is created. Considering how BU is all about scalability, it is important to ensure this feature behaves as expected. That was not the case, unfortunately, as blocks could be generated and exceed the node’s specific Maximum Generate size.
As a result, the Bitcoin.com mining pool stumbles upon a block that was too big in size. With a size of 1,000,023 byte, so it was rejected by the Bitcoin Core nodes on the network. Unlimited nodes marked it as an excessive block. Interestingly enough, the miners proceeded to generate new blocks, but not based on this “erroneous” block. Instead, they used the one that came before, as that was a valid one.
Unfortunately, some Bitcoin Unlimited nodes did accept this block, due to their larger Excessive block settings. Some of these nodes received a 24-hour ban by the Bitcoin Core nodes. The issue has been resolved by now, and all affected nodes are whitelisted once again. This has been a valuable lesson for the BU developers, and the latest client update prevent history from repeating itself.
For now, the BU developers plan to conduct an incident review. Once that is completed, they will publish additional details about changes to the development and testing process. Safely upgrading to larger blocks remains the number one priority, which means issues like these need to be avoided. Luckily, no real damage was done, and it is once again “safe’ to mine on the Bitcoin.com mining pool.
Header image courtesy of Shutterstock