As two proposals for boosting bitcoin’s transaction capacity approach key deadlines, one proposal, known as SegWit2x, has perhaps garnered the most attention.
The plan, first proposed in May, quickly won favor among many of bitcoin’s startups and mining pools. Yet, it has also emerged as contentious in some quarters, owing to its specific goals and technical construction.
But, what’s at the heart of the arguments for and against?
First, SegWit2x seeks to upgrade bitcoin in two ways:
- It would enact the long-proposed code optimization Segregated Witness (SegWit), which alters how some data is stored on the network.
- It would set a timeline for increasing the network’s block size to 2MB, up from 1MB today, to be triggered about three months after the SegWit activation.
Understanding the ins and outs of the proposal from here can be challenging. While technical, the proposal is also political and philosophical (and some would argue, personal).
Still, the specifics of the debate revolve around basic facts about current network design and performance.
- Bitcoin is currently limited in the number of transactions it can process. Today, it can only process up to 1MB of transactions roughly every 10 minutes.
- Owing to this limit, transactions take longer to approve during times of heavy use.
- As all users pay a fee to miners to make transactions, this limitation on space has increased average fee costs.
- Increasing the block size makes network nodes more costly, as node operators must store the entire copy of the blockchain as computer files.
To begin, SegWit2x is not the first proposal for scaling bitcoin’s transaction capacity.
SegWit2x, though, differs in some key ways.
- It was not put forward by, nor has it been endorsed by, Bitcoin Core, the network’s main open-source developer team.
- It doesn’t introduce new ideas so much as combine those previously proposed by various developers in a new way.
As outlined above, these ideas include:
- SegWit: An optimization proposed by Bitcoin Core developer Pieter Wuille at the end of 2015, SegWit increases the volume of transactions that fit into each block without raising the block size parameter. Specifically, it also removes transaction malleability, an issue that once resolved could lead to a number of network improvements. You can read more about the technical specifics here and here.
- A block size increase: The change, long-proposed as a scaling solution, simply involves updating the software rules to allow for 2MB blocks. A few alternative bitcoin implementations (Bitcoin XT, Bitcoin Classic and Bitcoin Unlimited) emerged with the goal of increasing bitcoin’s block size parameter. But none have yet reached the necessary threshold of support.
SegWit was officially released last November, giving network users the option to run it. But, for technical reasons, it required mining pools to activate the change, and they have been hesitant to adopt the change for a variety of reasons.
SegWit2x is being deployed in its testnet to all working group members on July 14, and the period for live adoption starts on July 21, with an August 1 deadline for necessary support to avoid issues.
Who supports it? Who opposes it?
In favor of SegWit2x are a significant number of high-profile bitcoin businesses and individuals, most of whom are more closely affiliated with the ecosystem’s startup and investment community.
- Most of the network’s larger mining pools
- Bitcoin startups like Coinbase, BitPay and Blockchain
- Notable developers, including former lead maintainer of Bitcoin Core, Gavin Andresen.
A full list of supporters can be found in the original SegWit2x agreement announcement.
Still, others oppose the plan, including:
- A few businesses (including Bitrated and Bitonic)
- Many node operators and bitcoin users
- Nearly all Bitcoin Core developers responsible for maintaining the software.
The actively updated Bitcoin Wiki page offers a longer list of those who support, oppose and are undecided.
What’s at stake?
Looking ahead, the outcome of SegWit2x will depend on how many users ultimately adopt the proposal.
Several different outcomes could emerge, including:
- The mining pools that pledged support for SegWit2x follow through by the end of July, and the SegWit portion of the proposal is activated on the network.
- The proposal doesn’t get that support, and the change triggers a domino effect that, worst case, leads to a network split into two competing bitcoin assets.
As is to be expected from such a large ecosystem, different users have different opinions on the best course of action, perhaps owing to the competing ideologies underlying their participation in bitcoin to begin with. As such, SegWit2x is not the only scaling proposal receiving attention today. Several alternative proposals have been introduced that could be enacted on the network in the coming month.
SegWit2x is competing with another proposal: BIP 148.
Developers have worked to make these two compatible, so, if enough mining pools support SegWit2x before August 1, bitcoin should avoid a split. Yet, without the necessary support for SegWit2x, and an activation of BIP148, the network could fork.
And a split is what many bitcoin users are most concerned about, leading them to worry about the SegWit2x proposal in general. In light of these anxieties, one of two things could happen to user’s bitcoin directly:
- With enough support, bitcoin upgraded to SegWit2x will work normally, and users will not likely experience any service disruptions.
- Without support, a bitcoin split puts users at risk of losing their bitcoin. Cryptocurrency experts propose not making bitcoin transactions during the uncertain time period around August 1.
Another longer term issue is that all users will need to upgrade their software in support of the 2MB hard fork component of SegWit2x, or bitcoin could split into two competing assets with different users.
A more detailed version of the SegWit2x scaling timeline, and the potential ramifications, can be found on Bitcoin Magazine
How you can follow SegWit2x’s progress?
As the SegWit2x code gets deployed on the testnet on July 14, and the period for adoption starts on July 21, many will be keeping a close eye on the evolving situation.
There are various places to track the project’s development.
The SegWit2x mailing list can be found here (while public, only members who are invited can post to the list). Further, the SegWit2x code implementation, known as “BTC1”, can be found here.
Community members can follow how many nodes are running SegWit2x software here and how many mining pools support the proposal here, as a means of keeping an eye on whether it achieves enough support.