The latest data shows that Bitcoin Unlimited has become the most popular solution to scaling up Bitcoin, surpassing the older SegWit proposal. This popularity was totally unexpected just a few months ago, when SegWit seemed a sure thing, and the sudden turnaround is forcing a lot of exchanges and mining pools to make emergency plans on how to deal with it.
Bitcoin Unlimited is a proposed change to the Bitcoin code, designed to increase the number of transactions Bitcoin can process. In its original form, Bitcoin was only designed to process 7 transactions per second. This was all the capacity it needed until 2016, but it has since grown big enough to start bumping the ceiling. The network is now badly congested, and we are seeing sharp rises in both fees and confirmation times.
From many proposals on how to increase Bitcoin’s capacity, two have emerged as the most popular: SegWit (developed by the Bitcoin Core team), and Bitcoin Unlimited. There have been long and heated debates for and against these two, and both sides of the turf war have fired off a lot of column inches at one another, so I’ll try my best to steer clear of the SegWit-versus-Unlimited debate, and just explain Bitcoin Unlimited itself.
First, let’s look at the problem to be solved. The reason Bitcoin is so congested in the first place is simple enough. The Bitcoin system is called a “blockchain” because it adds transactions to the ledger block-by-block. Bitcoin miners compete to find a valid block – one in which no one spends money they don’t have, and no one spends the same money twice. The limited throughput of the network is caused by two rules: one that says blocks must be found every ten minutes on average, and one that says blocks are limited to 1MB size. Only 1MB of transactions per ten minutes is a pretty tough limit for a global payment system.
So the obvious thing to do is increase the block size. Increasing the block size has been debated in the Bitcoin community for years. Over the past few years, various people have argued for increasing it to 2MB, or to 8MB. In 2015, Gavin Andresen wrote a series of blog posts arguing for increasing the block size way up to 20MB.
Bitcoin Unlimited is a more imaginative, and more lasting solution than a simple block size increase. It first emerged from a paper published in August 2015, in which Peter Rizun made the contrarian claim that a hard limit on block size is not necessary for a free, competitive marketplace. Instead of just increasing the block size by fiat, Bitcoin Unlimited provides a mechanism for miners to increase it at any time. Bitcoin Unlimited would allow miners to choose blocks of any size. These blocks would still be subject to the democratic consensus rules that currently run the network, so the majority of miners would have to accept the block size increase before these blocks could get added to the blockchain.
Apart from the technical or economic arguments, there is a principled argument for this proposal: it respects the founding philosophy of Bitcoin. Bitcoin already runs on democratic consensus in many ways. 51 percent of the miners must accept a block for it to be added to the blockchain. Likewise, updating the software requires consensus among miners. Bitcoin Unlimited would add block size to the list of things that get settled by digital consensus in Bitcoin land.
Digital consensus has done a pretty good job so far. For more than seven years, Bitcoin has run pretty smoothly, and in a mostly automated way. The question that has sparked the most debate, and required the most human politicking, is this question of block size. Handing that over to digital democracy extends the values and systems that have been working so well, and would hopefully mean less human drama in the future.
Setting aside the ethical arguments: would it work? Would it help Bitcoin scale up? The answer is certainly yes. Bigger blocks can fit more transactions. Even Bitcoin Unlimited’s harshest critics don’t deny that.
The main problem (and here I’m going to have to break my commitment to steer clear of the turf war) is the threat of a hard fork. If a significant percentage of miners adopt Bitcoin Unlimited, and the rest do not, Bitcoin would split into two currencies. This used to be seen as a nightmare scenario, but now is looking more and more likely.
Bitcoin Unlimited requires a hard fork because it would create blocks of over 1MB, and these are currently against the rules. Anyone running Bitcoin Core would reject these blocks as invalid. In other words, Bitcoin Unlimited is not backwards-compatible.
A hard fork would occur if half the miners switched to Bitcoin Unlimited and started mining jumbo blocks, and the other half stuck to the 1MB limit. Bitcoin Unlimited miners would start producing oversized blocks and adding them to their blockchain, while anyone on Bitcoin Core (or any Bitcoin version with the 1MB limit) would reject these blocks and start adding valid 1MB blocks instead. There would be two totally separate blockchains with no cross-talk, and two currencies as separate as the American and the Canadian dollars. A hard fork could trigger a rapid drop in the price of Bitcoin, and a lot of people would lose a lot of money.
The other major concern I have about Bitcoin Unlimited is more mundane. It’s not enough for software to offer a solution that sounds good and solves the problem in theory; good software demands a lot of rigor, manpower, and peer-review. Bitcoin Unlimited lags behind its older competitor, Bitcoin Core, in this regard.
Those who argued that Bitcoin Unlimited might be buggy got some ammunition on the 29th of January, when the Bitcoin.com mining group, running an early version of Bitcoin Unlimited software, accidentally mined an invalid block, and 12.5 bitcoin (about $11,500) of the group’s mining rewards vanished into a mathematical abyss.
The mining pool issued a statement saying, “On 29 January 2017, a block with a size greater than 1 MB was unintentionally produced by the Bitcoin.com mining pool as a result of a bug in the Bitcoin Unlimited 1.0.0 software.” Maybe their software was getting impatient waiting for bigger blocks!
In spite of the concerns about bugs, and the understandable apprehension about a hard fork, a lot of people in the cryptocurrency world are betting their chips on Bitcoin Unlimited. Bitcoin allows miners to flag their support for different versions of the software – a sort of built-in digital polling – and this data is displayed on Coin.dance. At the time of writing, Bitcoin Unlimited has the explicit support of 37.5 percent of miners, compared to 29.1 percent for SegWit. That’s not enough to trigger a consensus change, but it’s enough to command our attention. Bitcoin Unlimited isn’t going away, and it is very likely that it will either become the new standard or fork into a very noteworthy alt-coin.