A full year after the code was released, Segregated Witness (SegWit) still has little chance of being adopted by Bitcoin miners. The Bitcoin Improvement Proposal (BIP) includes a wide range of features, including larger block sizes.
The backward-compatible soft fork requires a majority of miners to enforce the new rules. Between 25 and 40 percent of miners are signalling for the change, while 95 percent is required for SegWit adoption.
Total Bitcoin node distribution pie chart, zoomed in for legibility
With recommended fees approaching $1.50, and more than 100,000 transactions waiting for confirmation, users have become increasingly vocal about their concerns of mining centralization, the subsequent deadlock in BIP adoption, and the activation of SegWit.
As Bitcoin’s problems continue to escalate, an alternative adoption method for SegWit has been proposed. User Activated Soft Fork (UASF) is designed to take the decision-making ability away from the miners and Miner Activated Soft Forks (MASF), but at a risk.
MASF is a convenient shortcut as it allows changes to activate before a significant portion of the economy upgrades. The signalling process indicates when a supermajority of miners have upgraded, as measured by their hashrate. Nodes can then activate and begin enforcing the new rules.
Proponents of UASF argue that MASF was never intended to be a vote, although it has an unintentional veto where a small amount of hash power can hold up the process.
“Ultimately consensus is decided by the economic nodes in the ecosystem since they validate the chain and engage in economic activity. Ultimately even miner activated soft forks (MASF) are enforced by the nodes. The miners simply trigger activation in the nodes.”
UASF is at the core of two BIPs, one of which forces the existing activation mechanism to deploy SegWit. BIP148 and BIP149, are being described as a way to override miners, and move their decision-making power to the hands of a group of node holders with an “economic majority,” a term that is ambiguous and easily confused.
Core developer Stephen Gornick wrote the Bitcoin wiki entry about Economic Majority in 2013, stating that “the ability for a protocol change to be successfully implemented ultimately rests with those who accept bitcoins in exchange for value.” Gornick points out that those willing to accept the cryptocurrency have the final say in how it works. Otherwise, the theory goes, when miners make the decisions the community, if unified against them, can simply not choose to accept their product.
The two BIPs take this concept and provide a solution for Bitcoin, ensuring that SegWit is activated with as little miner say-so as possible.
Both BIPs were submitted by the same pseudonymous developer, going by the name “Shaolin Fry,” and there are two primary differences between them. Both the timeframe and the exact method of how to come to consensus differs between the two.
The older of the two proposals, BIP148, specifies August 1 2017 as the start of a 14-week signaling period for SegWit activation. This soft fork is enforced not by miner hashrate, but by having a majority of nodes, users and miners, running BIP148 enabled software, which will in turn activate SegWit.
“It is hoped that miners will respond to this BIP by activating SegWit early, before this BIP takes effect. Otherwise this BIP will cause the mandatory activation of the existing SegWit deployment before the end of midnight November 15th 2017.”
A month younger, BIP149 specifies that SegWit will activate on July 4 2018, if it is not already activated by miners beforehand. It uses a different deployment system, another Shaolin Fry-derived BIP called BIP8, that patches the holes left by the assumed mining centralization in SegWit’s existing deployment system.
While perceived as even more hostile against miners, BIP149 specifies that it should only be deployed if BIP148 fails to lock-in or activate before timeout on 15 November 2017, making it suitable for use as a last-ditch effort if the first UASF attempt fails. This BIP cannot be deployed before 15 November 2017.
The risk of Bitcoin miners maliciously forking the blockchain to create two bitcoins, while either of these UASF attempts happen, are too serious for many to support. Number two mining manufacturer Bitfury, for their part, is completely behind UASF, and started signaling BIP148 on March 24. However, the leading mining manufacturer, Bitmain, along with much of the Chinese mining contingent is strongly against the move, and has threatened a chain-splitting hard fork.
“UASF will split the blockchain and create 2 or 3 kinds of Bitcoin if majority miners vote ‘no’. Exchanges should be careful.”
- Jihan Wu, Bitmain CEO
However, as some have pointed out, opposing miners face the real possibility of having their blocks rejected by not signaling for SegWit on August 1 if they don’t go along with BIP148, which would, in theory, decrease their profitability. The hope is that even if they do not signal for either BIP, when the time comes they’ll find it much more profitable to switch.
Bitcoin core developer Eric Lombrozo feels that this will be the outcome, pointing out that “The risk of a persistent chain split with BIP148 is practically zero as long as the markets prefer a SegWit chain.”
Discussion about implementing a UASF has been a popular and growing topic within Bitcoin’s Reddit and Bitcointalk forum communities. However, several Bitcoin core developers have weighed in to try to put a stop to the talk, calling it too risky.
Developer Greg Maxwell posted a detailed rebuttal on April 14, stating exactly why he couldn’t support the plans. While he states that BIP148 isn’t, “a horrible proposal,” he says it’s “just not up to our normal standards.”
“By forcing the activation of the existing (non-UASF SegWit) nodes,” Maxwell argues, “it almost guarantees at a minor level of disruption.” His advice is that the industry should have patience. “SegWit is a good improvement and we should respect it by knowing that it's good enough to wait for.”
However, as the price of Bitcoin and its fees have both steadily risen, a new push for BIP148 has gathered steam. A few core developers, most notably Eric Lombrozo and Blockstream’s Lightning developer Rusty Russell, have provided public support for either UASF. Russell goes so far as to take personal blame for the current situation, as he coded the signalling mechanism for consensus detailed in BIP9.
“I hadn’t expected that this checkpoint would be used as a chokepoint to ransom the network,” Russell said on Saturday. “This significantly changes the risk model.” He now prefers Shaolin Fry’s BIP8 signaling technique, which he states has “a far superior method for network upgrades, where miners can only accelerate the process, not block it.”
Around the same time as Russell’s post, nodes signaling for BIP148 have grown dramatically, making the idea a distinct possibility.
Microsoft’s head of Decentralized Identity, Developer Daniel B, pledged Microsoft’s support to UASF last Friday: “By default, all Bitcoin full nodes and clients used in Microsoft's open source decentralized identity implementations will signal for UASF.”
Most recently, developers have submitted an official pull request of Bitcoin Core’s code. A new version of Bitcoin core with BIP148 included would be more likely to be downloaded and run by businesses. So far it is being supported by a wide majority of developers.
Despite the uncertainty of success, a UASF of some sort appears to be unavoidable without Miners support for SegWit. Many in the community, despite their own admitted fears, worry more about miner centralization and have committed to the plan of promoting then implementing BIP148 to ensure SegWit is added to Bitcoin this year. Core developer Luke-jr recently stated, “The UASF is already locked-in.”