Bitcoin is experiencing perhaps the most turbulent period of its lifetime thus far, even as its price hit an all-time high in late March. Two camps are battling over whether the protocol needs changes to its core software, and what kind, so it can survive its growth. The cofounder of Civic, Vinny Lingham, said in an interview with MadBitcoins:
“We are at the point now where we either have to unite behind one way forward, or we are going to split and divide. The chances for us [i.e., bitcoin] forking are real.”
The feud over which changes to implement, or whether to implement any, has grown worse since the beginning of the year. Some users are concerned that the first and most successful cryptocurrency will emerge from the the battle completely different. Many wait to see whether the coin will come out more robust or weakened afterward.
From the beginning
In order to understand the discord in the community, we have to understand bitcoin’s current architecture and go back to its beginning.
Bitcoin uses a public ledger to record transactions. Every node in the peer-to-peer network underlying bitcoin’s infrastructure stores a copy of the ledger. The nodes also participate in a real-time process to build consensus on the status of the ledger.
Every 10 minutes, transactions are grouped, authenticated and confirmed as a batch known as a block—many of which together form a blockchain. Satoshi Nakamoto, the founder of bitcoin, capped the block size at 1MB, which limited transaction capacity to about seven per second.
For the first six years of bitcoin’s life, the 1MB block size was enough. But as public interest grew and the number of users exploded, that capacity became untenable. Users now sometimes wait hours for the network to confirm transactions.
Besides longer waits, the problem has also resulted in higher transaction fees, making bitcoin more costly to use. The way the system currently works is that when you attach higher fees to a transaction, in theory, confirmation takes less time. Competition among users for faster transactions thus raises bitcoin’s fees.
The majority in the bitcoin ecosystem — from ordinary users, to miners, developers and entrepreneurs — agree on the need to scale. The contentious issue is how to go about it, and for some, whether anything needs to be done at all.
Some propose a software patch that they believe would make the current block size more efficient. Others believe that increasing the block size is the logical solution. The opposing camps, however, are far from unified within. As bitcoin security expert and author Andreas Antonopoulos has stated:
“This isn’t like a football game between two teams that are unified. There is a lot of diversity even within these groups.”
Team SegWit (Segregated Witness), also known as team Bitcoin Core, brings together more than 150 active developers and casual contributors to the bitcoin core software. They include such companies as blockchain solutions company Blockstream, and Bitfury, one of the largest mining pools. Discussion for this group mainly occurs in the Bitcoin subreddit (r/bitcoin).
Bitcoin developer Nicolas Dorier, has said about this camp:
“Core [Team SegWit] has no center because contributors are united around technical soundness, not around personalities.”
SegWit is the software patch proposed by those on the Bitcoin Core side. As a soft fork, it is backward compatible. This means nodes running the old core version will be recognised by those running the new one.
The solution is intended to reduce the amount of transaction data that goes into the bitcoin block. Once activated, it will remove transaction signatures (witnesses) and carry them separately. This will create room for more transaction capacity in the current size block.
To its supporters, SegWit presents an opportunity to kill two birds with one stone. Aside from increasing the number of transactions confirmed per block, the solution could also solve the long-standing transaction malleability problem.
Transaction malleability is a bug in the bitcoin core software that allows attackers to hijack transactions before they are confirmed on the blockchain and change their unique identifications. This results in two transactions from a single transaction; one that gets confirmed and another that remains indefinitely pending.
Attackers have used this bug to claim refunds from bitcoin services, such as exchanges, on the transaction that remains pending on the blockchain. The bug also results in spam transactions, which take up space that could be used by genuine transactions.
The bitcoin core developers, led by Pieter Wuille, SegWit’s initial author, released the code in November 2016, and already close to 30% of nodes in the bitcoin network are signaling it — running it while awaiting activation. The activation will happen once a threshold of 95% is reached in the number of nodes signaling it.
The section of the bitcoin community that proposes a new version of bitcoin core is called Team Bitcoin Unlimited (BU) after the name they’ve given software. The changeover to BU will require a hard fork, which means it won’t be backward compatible. All nodes will need to upgrade in order to interact with the BU-driven network.
Team BU is made up of core developers, enterprises and miners. Its major support comes from Bitmain, one of the largest bitcoin mining pools, and Bitcoin.com, a website owned by Roger Ver, who is among the first investors in the bitcoin ecosystem. John McAfee, renowned for McAfee antivirus, has also joined this team and is setting up a mining pool to support BU through his MGT company.
The main forum for this group is the BTC subreddit (r/btc).
Team BU proposes an expansion of the block size to create room for more transactions. Ver describes Bitcoin Unlimited as an attempt to change the way the block size is set, rather than fixing one specific block size for everyone. In his words:
“What Bitcoin Unlimited does is to allow everyone who is running a node to decide what block size they want to accept is. And the idea is that the bitcoin community as a whole will converge upon a particular maximum block size whether it is one MB, 2 MB or 20 MB, we don’t know, but everyone will now be able to decide.”
The Bitcoin Unlimited core software was released in December 2016 and about 25% of nodes in the network are signaling for it. The BT activation threshold is a simple 51% majority. However, being a hard fork and being associated with a 51% attack by some makes this activation highly controversial.
Those opposed to the SegWit option have pointed to the fact that transaction malleability has never been a serious problem and thus doesn’t need an urgent fix. Ver presented this line of reasoning when he said:
“The things that SegWit solves aren’t things that need to be fixed urgently. Bitcoin Unlimited fixes things that need to be fixed right away.”
Even within supporters of SegWit, there is an acknowledgement that it wouldn’t be an ultimate scaling solution. They want to leave off-chain or second-layer scaling to take care of the rest.
Second-layer scaling solutions include sidechains and the Lightening Network, both platforms designed to handle micropayments and only settle transaction nets between users on the bitcoin blockchain.
Peter Todd, one of the bitcoin core developers, defends off-chain scaling as the most ideal. He told MadBitcoins:
“If I were Satoshi today designing bitcoin for the first time around, I would have block control of an hour, because we can expect that there is going to be layer-two things built on top of bitcoin where people will actually do the transactions.”
The push for second-layer scaling solutions is suspicious to the opponents of SegWit. The majority of the core developers working on SegWit also work for Blockstream, a private Canadian company that is building the Lightning Network and sidechains.
While the general view within the bitcoin community is that the developers behind Bitcoin Unlimited are against second layer scaling, Ver disputes this. He has said:
“The Bitcoin Unlimited guys are not opposed to layer two technologies at all. We are excited about layer two technologies. They will enable a lot of interesting things. But our point is don’t strangle bitcoin layer one that brought us from nothing to where we are today “
A hard fork, however, poses the risk of dividing bitcoin into two independent coins. This alone is a source of objection from team SegWit.
There is also the question of the competence of the developers who have worked on and proposed the Bitcoin Unlimited core software. In early March, attackers exploited a bug and took offline several nodes already running BU. Many in the community have also asked them to fix replay attacks, or the possibility of bitcoin transactions to appear in double after the hard fork.
Other team SegWit objections against BU include the fact that it supporters seek to create a centralized governance structure, complete with offices of president and secretary. To SegWit supporters, bitcoin should remain a crypto anarchist system. Having elected officials, they argue, would create a central point of failure for bitcoin. Todd:
“If you need a leader who enacts real change, that leader can also be bribed and coerced. I will much rather people go and pick what software to run based on their own facts and evidence rather than some leader telling them to. In bitcoin core, people try very hard not to have a leader.”
Having bigger blocks is also a concern in the sense that it will centralize the system. Mining will require more bandwidth and memory resources, which creates a hurdle for the ordinary person who wants to participate.
A middle path
While it seems like the choices stands between SegWit and BU, some root for a middle path. One of those is blockchain developer Jimmy Song. He believes that if the community stood back and did nothing, bitcoin would be fine. For him, this offers the path with the least resistance. Song said:
“I think bitcoin is good as it is. We don’t need to change anything. It is all good. Let’s go with what we have. Second-layer solutions are inevitable.“
At the center of his reasoning is the idea that bitcoin wasn’t supposed to be a medium of exchange, but more of a store of value. However, Ver doesn’t agree that bitcoin is meant to be only a store of value, rather than a medium of exchange. According to him,
“The only reason why people want to save money is so that they can spend it later. And if bitcoin becomes not useful as a means of exchange, people won’t store their wealth in it either. So I am really concerned about the future of bitcoin on both fronts; as a medium of exchange and as a store of value.”
Whatever happens in the next few months, bitcoin will continue existing. The only question is what shape it will take. Will it come out more robust, or in two versions like what happened with Ethereum after the July 2016 hard fork?
Antonopoulos has described a contentious hard fork as a rite of passage that will make it even more secure, stable and strong. The two camps will attack afterward, he says, and immediately try to annihilate each other.
He believes a hard fork will allow bitcoin to test all possible attack scenarios — from nodes, to networks, relay networks, hashing, transaction malleability and replay transactions. He says,
“What would come out of that? Probably a bitcoin that is worth a lot less [financially], but, in my view, a technology that is worth a lot more because it is battle hardened.”
In other words, perhaps in the long run, bitcoin could experience a rebirth and come out even stronger.
This post is part of our contributor series. It is written and published independently of TNW.