Bitcoin is divided. Some are calling it the currency's "constitutional crisis", a debate that has split its community right down the middle.
The crux of the issue comes down to a single technical detail: the size of bitcoin's blocks.
The question of scale in bitcoin is not a new one. But as transaction volumes are expected to increase in the years ahead, questions about the cryptocurrency's future composition must, in the eyes of those who favor change, be answered sooner rather than later: who does it serve? How should it look? What makes it unique?
As the block size debate rages on, here's a primer on its broad strokes and why it matters.
What are blocks?
Blocks are batches of transactions which are confirmed and subsequently shared on bitcoin's public ledger, the blockchain.
In the early days of the currency, these blocks could carry up to 36MB of transaction data apiece. However, in 2010, this was reduced to 1MB to reduce the threat of spam and potential denial-of-service attacks on the network.
This limit remains in place today, however as transactions increase bitcoin's blocks are filling up – edging further towards this 1MB line.
Data released by TradeBlock in June revealed the average block size had increased from around 125KB to 425KB since 2013, while the daily volume of bitcoin transactions had increased 2.5 times.
In turn, some blocks are already hitting this maximum. At the time of TradeBlock's research, this was happening on average more than four times a day.
"Meaning at least some otherwise-acceptable transactions are seeing delayed confirmations due to capacity issues on the network 3% of the time since the beginning of the year," it said.
And while the 1MB hard limit remains in place, miners aren't obliged to fill blocks all the way up. They are able to 'tailor' mined blocks anywhere from 0 to 1MB, while the standard bitcoin client has a default setting of around 732KB.
With all these factors in the mix, bitcoin is estimated to reach its so-called 'capacity cliff' – where all blocks on the network are full – sometime next year.
What's so bad about full blocks?
Some fear that a backlog of transactions awaiting inclusion in a future blocks will clog up the bitcoin network should blocks become consistently full.
In this scenario, bitcoin nodes, which form the collective 'backbone' that relays transactions across the network, will be overloaded with data and some transactions could be severely delayed or even rejected altogether.
For anyone using a small amount bitcoin to pay for a day-to-day purchase like a cup of coffee, this would mean a long, awkward wait at the counter – and a lukewarm latte.
If all goes to plan, it says the backlog of 0.00001 BTC transactions may take 30 days to clear, rendering other wallet software "worthless".
Why not make the blocks bigger?
The former lead developer and current chief scientist for the Bitcoin Foundation is proposing raising the limit to 8MB, which will increase an additional 40% every two years until 2036 to accommodate future growth in CPU power, storage and bandwidth.
Originally, Andresen had sought a 20MB hard limit, however many Chinese miners, who now account for more than 50% of the network's hashing power, expressed concerns over such a drastic step change due to the country's limited bandwidth.
Other proposals have been put to the Bitcoin Core team in the typical channels, for example Pieter Wuille's annual 17.7% block size increase and Jeff Garzik's 2MB "emergency" proposal. However, these proposals, like others, have not achieved broad support among Bitcoin Core developers and the debate, as a result, continues.
Bitcoin XT takes the debate one step further by attempting to supplant Bitcoin Core as the network's chief client. Developers Mike Hearn and Gavin Andresen seek to persuade node operators and miners to support the client.
According to XTnodes.com, as of the time of this writing, 868 nodes support the bigger blocks of XT, and three of the past 1,000 blocks were mined with support for Andresen's BIP-101.
Due to the way bitcoin is currently governed, change cannot happen if an agreement cannot be reached. There is no 'benevolent dictator' in Core that can override the rest of the team. For better or worse, consensus is king.
Who's in favour?
Besides Andresen, Hearn and a few other Core developers – who, tangentially, disagree with the "drastic" and "dangerous" methods of XT – bigger blocks in general have received support from a number of large bitcoin service providers.
Pretty much all of bitcoin's wallets are on board, including Coinbase, Blockchain.info and Xapo, with the exception of CoinKite and GreenAddress. For them, the continued cheap use of the blockchain is a necessity.
Exchanges outside of China have been rather quiet on the subject, while those inside the country, like the mining pools, have publicly backed a 8MB increase.
When Genesis Mining — a large pool with farms across Asia, Europe, and the US — took a poll of its users in June, 87% agreed that an increase was a "good idea".
However, the question of whether miners and pools will support that increase in the form of XT, a fork of Bitcoin Core, remains. It currently has 13.7% of bitcoin's nodes behind it.
In an interview in June, China's three largest pools – F2Pool, BTCChina Pool and Huobi Pool – indicated they would not switch to XT, but rather strive for consensus. They present more than 35% of the current hash rate.
Problem solved, right?
Not quite. As developer Peter Todd points out, blockchains – owing to their design – do not scale. Even Andresen, the mastermind behind the 'bigger blocks' proposal as well as a driving force behind Bitcoin XT, concedes that raising the block size limit is akin to "kick[ing] the can down the road".
Others have expressed concern that raising the block size limit will mean fewer full nodes due to the increased data storage costs involved, which could dissuade users to operate full nodes and centralize the system around entities capable of handing bigger blocks. This, some opponents of bigger blocks say, would go against bitcoin's distributed, censorship-resistant nature.
IBM UK's Richard Gendal Brown has attributed this way of thinking, in part, to the security engineering mindset – "how can I break this?" – a fear of technical failure that would put this decision off. On the flip side, those who see the larger problem as a more immediate danger are driven by a fear of practical failure that will drive away users.
Those behind the block size increase see it as an immediate 'patch' – imperfect, but necessary. Those who are against it see it an increase as just one option of many that should not be rushed into hastily.
So, what other options are there?
Even simpler than tweaking a few lines of bitcoin's code, is another block size solution: to leave the protocol as it is.
Rather than increasing capacity for new transactions, this school of thinking maintains that limiting block size in the short-term will create a self-regulating market for transaction fees. Put simply, if you're willing to pay more, you get to the top of the pile. This, the thinking goes, will also increase miners' incentive to process transactions, which will benefit the health of the network.
Peter Todd, one of the Core developers in support of this short-term solution, says it will give the market "an incentive to come up with real solutions to scaling bitcoin".
What are these other solutions? Well, they include various mechanisms that push the many tiny transactions on the bitcoin network – such as those from gambling sites and faucets – 'off-chain'. One, known as the Lightning Network, is a kind of 'hub and spoke' solution that lets two parties transact in private, then put their data back on the blockchain at an agreed time. However, even this will require a soft fork of the protocol to get it running.
Sidechains, spearheaded by $21m-backed startup Blockstream, has been mentioned in the context of the scalability discussion. However, some of the team behind the concept, which allow developers to experiment on separate chains 'pegged' to the bitcoin blockchain, say this isn't entirely accurate.
Luke Jr, one of several Core developers involved with Blockstream, recently comment on Reddit:
"Sidechains aren't about scaling, they're about improving bitcoin's functionality. Some of those features may be useful to improve scaling – for example, the softforks needed for Lightning – but sidechains themselves don't do it."
As it has unfolded, the block size debate has touched on many pain points for the currency as it seeks to grow. Bitcoin is many things to many people – anarchists, speculators, entrepreneurs – which, until now, hasn't been much of a problem.
However, as proposals and counterproposals emerge, the question of the currency's future remains. Will it compete with the likes of Visa as a cheap, fast payment channel? Or should it remain an ultra secure, premium – and scarce – store of value to which other services can be pegged?
Though the bitcoin ecosystem is undergoing big changes, whether the underlying code itself is altered remains to be seen.
Correction: A previous version of this article quoted Peter Todd as saying that blockchains, owing to their newness, have not been proved to scale. The quote has since been corrected to say that blockchains are not designed to scale.