Almost a Bitcoin Unlimited hard fork

As a result of running untested code, an invalid block was mined last Monday. The block was larger than the current maximum block size of 1 MB and was therefore rejected by the network. The block was mined by a miner running the Bitcoin Unlimited software.

Bitcoin Unlimited is an alternative client whose makers want to expand Bitcoin’s transaction capacity by mining larger blocks. At the time of writing, about 20% of the computing power on the network consists of Bitcoin Unlimited clients. The other 80% runs Bitcoin Core , which aims to scale Bitcoin to larger transaction numbers precisely through improvements such as Segregated Witness and the Lightning Network.

Bitcoin blocks per client over the past 7 days (source):

  • Core: 798
  • Unlimited: 194
  • Rest: 8

The exact error was in the space reserved for the coinbase transaction in a block, which was not sufficiently taken into account in the Bitcoin Unlimited client. In the Bitcoin Core client, a comment specifically indicates that space should be reserved for this. The block in question, number 450,529, was already full of normal transactions before the addition of the coinbase transaction, so when the coinbase transaction was added, the 1 MB limit was exceeded.

The invalid block, with a size of 1,000,023 bytes, was mined due to a flaw in Bitcoin Unlimited’s code. Because the block was not accepted by the rest of the network, all the computing power that was put into mining the block was lost.

All nodes in the network running Bitcoin Unlimited, currently about 460 compared to 4760 Bitcoin Core nodes, passed the invalid block to the other nodes in the network. An additional consequence of this was that these nodes were excluded from the rest of the nodes on the network, as the Unlimited nodes passed invalid data. In the end, no hard fork was created because many of the Bitcoin Unlimited nodes were not yet set to blocks larger than 1 MB. As a result, both the Core miners and many of the Unlimited miners worked on expanding the chain without the too large block.

This incident is a good demonstration of what can go wrong from not thoroughly testing code or performing a hard fork carelessly. The Bitcoin Unlimited developers quickly recognized and fixed the bug and posted a message saying that it was not a deliberate attempt to make a hard fork.

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

© 2024 Cryptocoin Budisma.net