Two of bitcoin's best-known developers have 'forked' the software in a controversial attempt to resolve its scalability crisis.
The client, Bitcoin XT, was dreamt up earlier this year as a way to 'opt out' of bitcoin's current 1MB block size limit – which has proved a divisive issue as the digital currency grows.
Currently, the network handles between three and seven transactions per second. However, blocks on the network are beginning to fill up. Reaching bitcoin's so-called 'capacity cliff' – depending on who you ask – could create a competitive market for transaction fees or destroy the robustness of the network completely.
Increasing bitcoin's block size – a 'quick fix' for the issue – carries its own long-term implications for the network, which some argue would make the network more centralised and, thus, less trusted.
Gavin Andresen, who handed over the reins as bitcoin lead developer to Wladimir Van der Laan last year, is behind XT's code, with ex-Google employee Mike Hearn reviewing and adding bug fixes. As of Saturday, it is now subject to public scrutiny as the final part of the testing process.
Speaking to CoinDesk, Hearn said the project had come about as a result of long-standing frustrations with the consensus-driven governance of Bitcoin Core, which he said has ignored any changes that trigger disagreement – even among those who do not contribute to its code.
"This model falls apart the moment even small differences of opinion and vision appear, as it allows anyone – including people who hardly contribute – to block any change."
Bitcoin XT will use the "traditional" open source model, Hearn said, in which the code ultimately reflects the decisions of its maintainer. Unlike Bitcoin Core, it won't run on consensus, but can be forked and modified by others.
"This takes a little bit of work, but not much – it's similar to creating a political party. Convincing people to run it is like convincing people to vote for you," he added.
Technically speaking, anyone can run XT. However its new rules, which include other patches that didn't make it into Core, such as updates on double-spending and protection against DDoS attacks, will only be triggered by miners doing so – 75% of miners, to be exact.
"By mining with Bitcoin XT you will produce blocks with a new version number. This indicates to the rest of the network that you support larger blocks. When 75% of the blocks are new-version blocks, a decision has been reached to start building larger blocks that will be rejected by Bitcoin Core nodes."
If XT doesn't receive enough of these 'votes' then nothing will change. It's up to Hearn to convince other stakeholders, including exchanges, payment processors and wallet developers to join its bigger blocks – at press time it had 6.9%.
"At the moment, we think it's plausible we can get majority. But it will likely be a lot of work," he told CoinDesk.
The 75% majority
Others are more cautious about XT achieving the majority it needs. Speaking to CoinDesk, fellow Core developer Peter Todd said that while it was possible for the 75% threshold to be achieved, he warned the standard 95% threshold for soft-forks was chosen for good safety engineering reasons.
"For technical reasons 75% is really low and has a high risk of leading to huge reorganisations of the blockchain; miners would be taking a big risk by adopting that code," he said, adding that the team behind the software was "unproven" and "inexperienced".
If Bitcoin XT succeeds, it seems like a risky strategy to be left on the wrong side of the fork. For one thing, any new coins mined on the 'losing side' would be unsellable. Hearn isn't too worried about this, citing the fact that miners have rejoined the majority within hours in the past.
However Pieter Wuille, another Bitcoin Core developer, told CoinDesk this 'losing' and 'winning' fork was a big concern:
"People not being able to send coins from one 'side' of the fork to another, and all coins that existed before the fork being able to be spent twice (once on every side of the fork) [is] the very thing that bitcoin was designed to prevent."
"Maybe it works and maybe it doesn't, but I do think that it is a grave risk for centralisation of influence over the network, even if it works," he added.
Action and inaction
The blocksize debate has overshadowed development for many months now. It's proved the most divisive issue among bitcoin's core developers – and the stalemate between those demanding bigger blocks and those seeking other scalability workarounds, Todd included, shows no sign of abating.
Jeff Garzik, who made a proposal, BIP 102, for a 2MB block as an emergency 'fallback' if consensus is not reached, recently put it: "There is no perfect answer; as with most modern policy changes, any action – including inaction – generates winners and losers."
Understandably, XT has garnered its fair share of detractors – not just for its aims, but its methods, too.
A message purporting to be from Satoshi Nakamoto – whose email account was rumoured to have been compromised last year – appeared on the bitcoin dev mailing list Saturday to denounce the "dangerous" project. It read:
"If two developers can fork bitcoin and succeed in redefining what 'bitcoin' is, in the face of widespread technical criticism and through the use of populist tactics, then I will have no choice but to declare bitcoin a failed project. Bitcoin was meant to be both technically and socially robust."
Whether or not it came from the real bitcoin creator, the message that the project violates the 'original vision' of bitcoin is shared by others.
Discussion of XT was recently banned on the most popular bitcoin subreddit, r/bitcoin, with moderator 'Theymos' claiming that as a fork of Bitcoin Core, XT should be classed as an 'altcoin' or a 'forkcoin', similar to litecoin.
Wuille said: "I think that people are free to fork the software and make changes. Not all users have the same demands, and software diversity is good. However, we're not talking about switching software, but about changing the rules of the network."
"I consider proposing software that intentionally changes the consensus rules while controversy exists about it, and marketing this as a safe choice for people in the network to run to be disingenuous and dangerous."
Todd told CoinDesk: "Well, keep in mind there is no debate among the experts in the community about the big picture: blockchains don't (yet) scale. Even Gavin admits any block size increase is just 'kicking the can down the road'."
Bitcoin image via Shutterstock
The client, Bitcoin XT , was dreamt up earlier this year as a way to ‘opt out’ of bitcoin’s current 1MB block size limit – which has proved a divisive issue as the digital currency grows.
Currently, the network handles between three and seven transactions per second. However, blocks on the network are beginning to fill […]