In this CoinDesk 2016 in Review feature, CoinDesk contributor Corin Faife recaps developments in bitcoin's biggest technology debate.
In bitcoin's early days, discussion of the protocol was almost the only thing that mattered – and 2016, it could be said, has brought this discussion back to center stage.
The reason has been the continued focus on network scalability, more specifically whether modifying bitcoin's block size is the right way to increase the number of transactions the network can process.
It's important to note that to some, the continued "debate" isn't really a debate at all.
As evidenced at the technology's annual developer summit, there remains a strong (if not overwhelming) consensus that a proposal called Segregated Witness is the best solution – if it is approved, it will nearly double bitcoin's capacity.
Yet, a vocal minority continues to remain opposed (partly over disagreement about "Satoshi's vision" and partly due to trust issues with Bitcoin Core, its primary volunteer developer team). As such, the argument over the pros and cons of this proposal has still not been conclusively resolved.
While bitcoin's price has once again returned to its 2013 highs, it could be said that only one number matters in 2017, the percentage of miners that agree to upgrade to a version of the protocol featuring the SegWit upgrade.
The progress of developments (like the much-hyped Lightning Network), as well as the business models of many startups, arguably depend on SegWit's implementation.
Against this backdrop, 2017 is likely to prove a pivotal year.
For now, let's look at how the debate unfolded in 2016, along with the related projects and personalities that fed into it.
1. Two camps form
The debate over block size and scalability was already contentious in 2015, but the main difference was that a range of proposed solutions were on the table and the partisan lines were less clear.
Then, in December 2015, Blockstream co-founder and developer Peter Wiulle introduced a proposal called Segregated Witness, which would increase network throughput without modifying block size by changing the way that transactions were stored in order to use less space.
Also beneficial, developers argued, was that it could be introduced via a mechanism called a soft fork (meaning that miners who adopted it could co-exist on the network with those that did not).
As evidenced by ethereum this year, a hard fork could risk splitting the economic network into two incompatible versions. (Opponents claim that a hard fork is more democratic, as it allows voting and the possibility of two outcomes).
Following the release of the Segregated Witness white paper, proposed solutions to the scalability problem were effectively flattened into two groups: those who wanted an increase in block size (with a further debate over what the ideal size was), and those who wanted to maintain block size while improving efficiency in other areas.
So, 2015 rolled into 2016 with a far more polarized version of the debate than had previously been seen.
This initially left Bitcoin Core developers who supported the Segregated Witness solution scrambling to do a better job of clarifying their position, with the launch of a website, Twitter feed, and Slack channel to bridge perceived communication gaps.
Meanwhile, support for the alternative path gathered steam with the release of Bitcoin Classic in February, a repackaging of the Bitcoin Core software which would double the maximum block size from 1MB to 2MB.
Yet at almost exactly the same time, another power bloc emerged in the form of a consortium of miners and exchanges who declared that they would not back any proposal resulting in a hard fork of the network, throwing doubts over the viability of getting Bitcoin Classic off the ground.
2. Bitcoin Core progresses
Toward the mid-point of the year, a group of about 20 contributors to the Bitcoin Core code met in Zurich to review the Segregated Witness code.
Held in late May, the meeting brought the distributed group of developers together to discuss the code itself, and broader issues of strategy and communication for the roll-out of the code.
Not long afterwards, the Bitcoin Core developers merged the Segregated Witness code into the master branch of the bitcoin codebase, allowing for a new round of testing of the code on the bitcoin testnet.
With momentum firmly behind them at this stage, and after a few more months of testing the Core, developers announced that version 0.13.0 of the Bitcoin Core software would include SegWit code, albeit in a pre-activation state that could be triggered with a subsequent update. The version also included faster block relays on the network, among other technical updates.
Meanwhile, in July, an upgrade to the bitcoin network's block relay structure was also announced.
The project was an improvement to the Bitcoin Relay Network, a system developed to boost the speed at which block data was propagated amongst bitcoin miners and thereby reduce the incidence of orphan blocks.
When the Bitcoin Relay Network began to ‘show its age’, bitcoin developer and Blockstream co-founder Matt Corallo redesigned its successor – the Fast Internet Bitcoin Relay Engine – using the UDP protocol instead of TCP, allowing for even faster data transmission between nodes.
3. Hurdles left to jump
Even after the strides of progress seen by the Bitcoin Core team, the last months of the year were to prove that consensus is still proving to be hard fought.
One of these hurdles came in the form of ViaBTC and Bitcoin.com owner Roger Ver, two influential opponents to the Bitcoin Core roadmap, both of whom have a stake in the protocol's mining network.
In late October, ViaBTC switched from using Bitcoin Core to Bitcoin Unlimited, a rival software client backed by Ver that does not include support for Segregated Witness. Instead, it tackles the problem of scaling by introducing a configurable maximum block size which can be defined by individual miners.
(For an easily digestible explanation of how this works, see Peter Rizun's post on how a Bitcoin Unlimited node deals with large blocks).
Given that Segregated Witness needs to be backed by 95% of the hashing power of the network in order to be adopted, any mining pool commanding 5% of the hashing power or more can effectively block the process, leaving progress towards scalability at an impasse.
This is more or less where the end of the year leaves us: with a widespread support for Segregated Witness, but a small and vocal minority of opponents holding out against it.
At the time of writing, over 50% of bitcoin nodes are running the SegWit-compatible 0.13.0 or 0.13.1 software according to Bitnodes, yet over 7% of nodes are running some version of Bitcoin Unlimited – a large enough share of mining power that the network might not be able to switch.
However, even with the scales so heavily weighted toward Bitcoin Core, the story is far from over.
If and when the network adopts Segregated Witness, the 1.8x increase in transaction volume may buy only a finite amount of time before familiar limitations start to resurface. Though it could be argued that keeping an artificial cap could force innovation in other areas, most (if not all) developers believe the block size will one day need to rise.
With this in mind, in 2017 and beyond, it seems certain that the 'block size debate' will continue.