The SegWit Forks: An Exit/Voice Account by George Gerro and Jeffery Atik

George Gerro
Blockchain Law
Published in
14 min readFeb 17, 2018

--

[E]xit has been accorded an extraordinarily privileged position in the American tradition, but then, suddenly, it is wholly proscribed, sometimes for better, sometimes for worse, from a few key situations.

  • Albert O. Hirschman

Albert Hirschman’s Exit, Voice and Loyalty: Responses to Decline in Firms, Organizations and States (1970) proposed a framework for understanding how stakeholders — such as shareholders in a firm or citizens in a polity — respond to an unsatisfactory status quo. Stakeholders can either voice dissent, exit the relationship, or loyally remain. A stakeholder’s ability to voice dissent or exit the relationship may be constrained by practical circumstances. In many cases, loyalty compels a choice.

Hirschman’s Exit/Voice model can build an account of the SegWit adoption process. Our account generalizes four types of stakeholders in the Bitcoin Network. First, developers write code. Since Bitcoin’s protocol is open-source, developers provide a public good. Second, users install developers’ software and buy bitcoins. The strength of a user’s voice depends on their financial and social capital. Third, miners secure the Network. Modern miners are highly centralized and capitalised firms. Fourth, businesses build private infrastructure. Bitcoin businesses, including exchanges, transact often on the blockchain.

The Bitcoin “scaling debate” has a long and bitter history. In computer science, “scaling” refers to expanding the size and capacity of a network. Scaling the Bitcoin Blockchain involves a tradeoff between transactions throughput and network decentralization. This technical question ossified into a political issue: what should the block size limit be? Developers and users prefer to utilize existing block space more effectively. Businesses and miners prefer to increase block space. To balance these competing viewpoints, developers concocted Segregated Witness.

This essay explains how developers exercised their voices by coding a conservative soft-fork, called Segregated Witness (SegWit). SegWit balanced a plurality of interests. As designed, developers delegated SegWit activation to miners. Miners exercised this voice by vetoing SegWit, offering activation in exchange for a hard-fork, block-size increase. For many reasons, including loyalty to users, developers refused to cooperate in a hard-fork. SegWit adoption stalled.

In response to the delay, some node-operators threatened to overrule the miners’ veto with a soft-fork. This soft-fork threatened miners to ratify SegWit, or risk exit. A temporary chain split would divide the miners, imposing economic uncertainty on the entire network. The only way for miners to fully mitigate this risk was by activating SegWit beforehand.

Miners appealed to the corporate community. With an oral contract, they agreed to activate SegWit, then to hard-fork a block-size increase. The deal was intended to voice a compromise. However, without consensus, the deal was perceived as a threatened exit. Developers and users felt betrayed by businesses. Businesses were torn between honoring the contract or community. Ultimately, they rescinded the contract.

Finally, we discuss a hard-exit by the miners. The largest mining manufacturer introduced the hard-fork as a purported “contingency plan” in response to the user-fork. The fork rejected SegWit and octupled the block size. Further, the fork gave miners now a substitute coin to mine and control. Upon schism, the coin shared history, symbols, and user-base with Bitcoin. Despite its loyal user-base, the hard-fork never eclipsed SegWit in the marketplace of coins or ideas.

Segregated Witness: a soft-fork to increase the block size, fix transaction malleability, and facilitate future soft-forks..

Segregated Witness is aptly named, because witnesses (digital signatures) are literally segregated into a block addenda Thus, SegWit transaction signatures do not count towards the base block size limit. Instead, SegWit depreciates the maximum block size limit (previously 1 million bytes), and replaces the limit with a new metric: maximum block weight (currently 4 million units). SegWit signatures receive a discount in terms of block weight and transaction fees.

Technically speaking, SegWit provides high marginal benefits to Bitcoin at low marginal cost, compared to a base block size increase. Like ordinary transactions, miners commit to a Merkle Tree Root of SegWit Signatures in the block header. Removing Segwit would require a hard-fork.. SegWit transactions are fully validated by Bitcoin full nodes that adopt the protocol. Old full nodes see SegWit transactions as “anyone can spend” transactions. As a result, old nodes do not validate SegWit transaction signatures. People who prefer legacy transactions can continue business as usual.

SegWit accomplishes multiple goals. Of the most important of these are:

  1. SegWit was designed as a soft-fork, and facilitates future soft-forks. .
  2. SegWit increased the block size. Depending on SegWit adoption, Bitcoin Blocks will eventually double in size.
  3. SegWit disables covert “ASICBoost,” a shortcut in Bitcoin Mining. ASICBoost increases profitability by more than an order of magnitude for miners equipped with a special chip.

SegWit was criticized on a number grounds:

  1. SegWit was a complicated change to the Bitcoin Network. Thus, SegWit added to Bitcoin’s “technological debt,” or unforeseeable consequences of complex code.
  2. SegWit was criticized as too little, too late, in terms of a block size increase.
  3. Users must send bitcoins from SegWit address, requiring opt-in from businesses and users.

All in all, SegWit won the support of the majority of the Bitcoin community. SegWit was launched on the Bitcoin Testnet in January 2016. Nevertheless, Bitcoin Mainnet activation of SegWit would not take place until August 2017. This delay resulted from political, social, and economic forces. This is the story we discuss below.

A case of “voice:” SegWit and UASF

SegWit was proposed in late 2015 as Bitcoin Improvement Proposal (BIP) 141. In light of a plurality of interests, SegWit emerged as a conservative innovation. By numbers, a supermajority of the community supported SegWit adoption. Developers almost unanimously favored BIP 141. Generally, businesses favored SegWit too; however, they also wanted a base block size increase. Thus, SegWit support was used as a bargaining chip for a base block size increase. Since developers and users never conceded to this bargain, Miners used their political power to delay SegWit’s adoption.

Usually, block restructuring requires a hard-fork. Hard-forks have become somewhat taboo in the Bitcoin community. SegWit was heralded as a breakthrough, because it accomplished a block restructuring with a soft-fork. As written, BIP 141 is backwards compatible. Existing nodes which do not wish to implement SegWit need not download new software to remain operational. Instead, soft-forks allow existing nodes to remain on the soft-forked blockchain. Backwards compatibility is the sine qua non of a soft-fork.

Soft-forks add new rules to existing consensus protocols. Soft-fork adoptions allow users to exercise voice, because soft-forks upgrade but do not bifurcate the network. Soft-forks may lead to temporary chain splits. Depending on design, however, the chains will usually reconverge. Importantly, soft-forks do not require network-wide coordination of a simultaneous upgrade. Everyone can upgrade at will. A block-specific hard-fork poses the risk that a bug will grind the entire blockchain to a halt. For example, SegWit 2x failed to fork because a single number was “off-by-one.”

Soft-forks are exercises of voice. If successfully implemented, the soft-fork introduces new elements to the entire network. If a soft-fork proposal is unsuccessful, the blockchain continues with its original rules. Generally, a successful soft-fork requires support by a majority of mining hash power. Once enough economic power aligns behind the soft-fork, miners are economically incentivized to implement it.

Miners also have a voice. In every block, miners can write a small amount of arbitrary data in the block header. BIP 9 has been used to allow miners to express support for a particular upgrade. This mechanism was intended for miners to “signal” to the rest of the Bitcoin network when they were ready to deploy a fork. BIP 9 has morphed into a non-binding voting system. Every miner can cast a “vote” with every block it finds. Thus, miners have effective voting power proportional to their hash power.

SegWit was designed to activate once 95% of blocks signaled support. SegWit would lock in upon signalling of 95% of blocks during any recurring 2,016 block during the voting period, which extended from November 2016 to November 2017. The picture below demonstrates that the miners were exercising a de facto veto power to delay the activation of SegWit.

Percentage of blocks signalling for SegWit from February to August 2017. SegWit signalling jumped from 45% to 100%, upon 80% of miners activating BIP 91 to reject non-signalling blocks. See https://blockchain.info/charts/bip-9-segwit.

In order to impede the adoption of SegWit, miners withheld their support. Some users believed that the miners were hampering reasonable reforms and were ignoring the voices of end-users. Around March 2017, allegations of ASICBoosting (a mining shortcut) and publication of the New York Agreement (an initiative by some Bitcoin stakeholders to adopt SegWit which would both implement SegWit and double the block size again) compelled activist users to raise their voices.

To provide context, we first describe the competing interests of developers, users, Bitcoin-related businesses (wallets and exchanges), and miners. A scaling dichotomy arises between “on-chain” and “off-chain” scaling solutions. On-chain transactions occur on the Bitcoin Blockchain. Miners prefer “on-chain” scaling, because they collect transaction fees for each on-chain transaction. Bitcoin miners incur very high fixed costs. But, the marginal cost of including one more transaction in a block is nearly zero. Instead, the costs of larger blocks are externalized on the Network as a whole. Thus, Miners prefer larger blocks, with a two caveats: blocks must be (1) small enough to keep “orphan” rates low (a term for superfluous, stale blocks excluded from the blockchain), and (2) small enough to permeate the Great Firewall of China. Miners have estimated that their prefered block size is no more than 8 megabytes (a six-fold increase from current block sizes).

Developers and users generally prefer “off-chain” scaling. Although much more work and innovation is required, off-chain scaling has enormous benefits. Layer-two technologies alleviate negative externalities on the Bitcoin Network. Off-chain scaling promises instant settlement, exponential scaling, increased privacy, and commensurate security to on-chain transactions. Ideally, users can continue to operate full nodes with consumer grade resources.

Users also prefer off-chain scaling. All else equal, smaller blockchains allow more users to run full nodes. More full nodes translates into a faster, safer, and more decentralized network. SegWit facilitates off-chain protocols, such as the Lightning Network. The Lightning Network creates a substitute for on-chain transactions. Lightning hub operators can compete with miners for transaction fees, thereby causing fees to fall.

In early 2017, Bitcoin Developer Gregory Maxwell revealed another possible source of antagonism for the SegWit soft-fork. An Antminer produced by Bitmain, the most powerful mining firm, was equipped with the ability to covertly reduce the cost of mining by 20%. There was no conclusive evidence that Bitmain was utilizing this shortcut. Still, the SegWit soft-fork would end this competitive advantage. Bitcoin Cash, discussed later, remains ASICBoost compatible.

A contingent of users conceived a method of inducing miners to implement SegWit. Understandably, miners viewed the political move as an attack. Around March 2017, a pseudonymous developer proposed a user activated soft-fork (UASF). Starting August 1, 2017, UASF nodes would begin rejecting blocks that failed to signal support for SegWit. Instead, they would only accept blocks that were built upon a chain exclusively comprised of blocks signalling support for SegWit. If the UASF chain failed to outpace the majority chain by mid-November 2017, then the UASF nodes would concede. In that event, BIP 149 would then adopt SegWit with or without miner support..

The UASF planned to force SegWit activation by providing the miners with a carrot and a stick. As a carrot, the UASF users would pay higher transaction fees to miners who built upon the UASF-sponsored chain. Thus, the UASF would bribe miners to defect. As a stick, if the UASF was successful in outpacing the incumbent chain, the incumbent chain would be “wiped out” and replaced by the UASF chain. Miners could not ignore the UASF voices, because the UASF threatened to render blocks on at least one of the two blockchains null and void. As always, the miners could choose to attack the blockchain with 51% attacks, empty blocks, or selling their coins on the UASF fork.

Miners had to heed UASF nodes — and UASF miners especially so. If the UASF-chain surpassed the incumbent chain, the incumbent chain would be obliterated. Bitcoin only allows block rewards to be spent 100 blocks after mining. Thus, miners risk losing their block rewards, while incurring the same electricity bills.

UASF developed a culture. Users signalled their support by including “[UASF]” in their usernames. Hats were sold with embroidered, bold “UASF” letters on military camouflage canvas.

BIP 148 was not the first, nor the last, UASF. Indeed, SegWit improved the versatility of soft-forks. SegWit itself repurposes formerly “anyone-can-spend” outputs. To old nodes, these outputs appear spendable without signatures. To new nodes, the version number tells the node which rules to apply. Thus, transactions which were previously valid are invalidated. New nodes enforce additional rules, while old nodes remain oblivious to those new rules. As a result of SegWit, soft-forks can now introduce new signature schemes, coding languages, and side-chains (blockchains with a two-way peg).

Those who ran UASF nodes were taking an economic and political risk. Supporters tout the UASF as a success. The original goal was accomplished: SegWit was miner-activated without consequence. It is unknown whether UASF would have attracted enough hash power to succeed. UASF’s success depended on market prices, difficulty readjustments, miner defection and risk adversity.

The miners mooted the SegWit UASF. Pursuant to the New York Agreement, Bitcoin miners implemented BIP 91, which had the same effect as UASF. Miners began rejecting non-signalling blocks.

The foregoing illustrates that soft-forks have created a new type of voice. In traditional governments, leaders and businesses can ignore protests or petitions. If users or miners implement soft-forks, they can force their voices to be heard.

Before SegWit, UASFs could implement taxes, freeze accounts, and add extension blocks. After SegWit, soft-forks can repurpose “anyone can spend” outputs to enable many functions, like adding side-chains and aggregating signatures.

Some contend that the investors hold the ultimate power. Others contend that miners hold the ultimate power. Both are correct in that users and miners have a voice. Their market power determines how effective their voices actually are. In blockchains, voice transmutes into code. The code itself determines which rules and customs to enforce. Soft-forks allow voices to become new laws.

One last point about the SegWit soft-fork. If SegWit were introduced as a hard-fork, 100% of new transactions would be SegWit transactions. To utilize SegWit, bitcoins must be sent from SegWit addresses, using SegWit compatible software. As of February 2018, SegWit transactions only account for 15% of all transactions.

After activation, some businesses delayed SegWit opt-in for economic, technical, but mostly political reasons. For example, Bitcoin-related businesses were upset that the base block size remained unchanged. Miners were upset that SegWit transactions receive a transaction fee discount. Users voiced support for greater SegWit adoption. For example, an online petition for Coinbase to integrate SegWit attained over 12,000 signatures. Even a new UASF was proposed to reject blocks without a requisite proportion of SegWit transactions. In 2018, both Coinbase (the largest business) and Bitcoin Core (the leading developers) are poised to integrate SegWit.

A case study of exit: Bitcoin Cash and SegWit 2x.

Although we strongly believe in the need for a larger blocksize, there is something we believe is even more important: keeping the community together.

Email calling off the SegWit 2x hardfork, https://lists.linuxfoundation.org/pipermail/bitcoin-segwit2x/2017-November/000685.html.

Around the time that UASF was announced, prominent members of the Bitcoin business community gathered in a New York hotel room to work out a compromise. This compromise came to be known as the New York Agreement (NYA). The agreement involved two phases: first activate SegWit, then double the base block size three months later (“Segwit 2x”).

Large Bitcoin businesses subscribed to the New York Agreement . Also, over 80% of the mining hash power began signalling support for the NYA. As seen in the chart below, a supermajority of miners were in accord. About 90% of blocks were signalling for SegWit 2x. At the same time, about 40% were signalling for SegWit.

Percentage of blocks signaling support for the New York Agreement from June to November 2017. Support declined in November because businesses called off the fork, shortly before the fork failed to launch. https://blockchain.info/charts/nya-support.

Then, a grassroots movement emerged against the New York Agreement. People vigorously exercised their voices in online forums, even adopting the tag: [no2x].

Businesses, meanwhile, were in support of doubling the maximum block size. Due to rolling, massive spam attacks, blocks were filling up throughout 2017 and fees were skyrocketing. Businesses were no longer able to make nearly free transactions on the Bitcoin Network. Often, users would have to pay more than $10 to place an ordinary transaction.

Since transaction fees are calculated on a per byte basis, businesses were particularly vulnerable to high fees. Businesses are more likely to receive many small payments from customers and clients. Thus, when businesses want to spend these unspent transaction outputs (UTXO) the transactions are larger in terms of data size. Business leaders were sometimes reporting transaction fees of hundreds of dollars.

On the other side of the debate, developers and users argued that a block size increase was not needed. Loyal to off-chain scaling, users and developers chose to pay high transaction fees to keep the blockchain small.

A block size increase generally requires a hard-fork. Hard-forks require opt-in from node operators who wish to remain on the hardforked blockchain. As in Hirschman’s model, there are transaction costs associated with exits. Unlike soft-forks, no one can impose a hard-fork setting block size onto the entire network.

SegWit 2x node operators must run the official SegWit 2x client, “BTC1.” SegWit 2x claimed to be the official Bitcoin. In almost all respects, SegWit 2x was identical to Bitcoin. As Hirschman observes, it is easier to exit when exiting to a familiar system.

New York Agreement signatories considered their voice to be a reasonable compromise. Opponents construed the attempt as an attack, or exit. Coinbase announced that they would refer to the chain with the most accumulated work as Bitcoin. In other words, Coinbase would allow the miners to decide which blockchain was “Bitcoin.” Users decried the plan as a misrepresentation, perhaps fraudulent. Coinbase responded that they would refer to the hard-fork as SegWit 2x, at least initially.

One week before the fork, the orchestrators of NYA publicly declared that there was not enough community support to hard-fork. Among the six signatories was the CEO of the largest mining manufacturer, Jihan Wu of Bitmain. The email indicated that loyalty to the group was more important than exiting in dissent.

Rumor has it that the miners had committed to unprofitably mine SegWit 2x only for about one day. If SegWit 2x was not the dominant chain, the miners would surrender. Businesses believed that SegWit 2x would fail. In October, SegWit 2x futures were trading for less than 0.2 bitcoins each.

Ever since then, SegWit2x has been regarded as a failed misadventure. Although the fork was officially called off, a minority continued with plans to exit. The hard-fork failed due to fatal coding errors. Miners signalling fell dramatically in November 2017, the month scheduled for executing the hard-fork. Few blocks still signal support.

“Once Bitmain starts to mine a UAHF chain publicly, we will mine it persistently and ignore short-term economic incentives.”

  • Bitmain, currently the largest Bitcoin mining equipment manufacturer.

A few months earlier, on June 14, 2017, in response to the UASF, a user activated hard-fork was announced. Bitmain, the largest producer of bitcoin miners, announced plan for an exit which would become Bitcoin Cash (Cash). In a blog post, Bitmain announced that it would mine the hard-fork for at least 72 hours, regardless of economic incentives. Although UASF never occured, the UASF “contingency plan” occurred anyways.

The Cash hard-fork was a clear exit. Every owner of a bitcoin on August 1, 2017 automatically became the owner of an equal amount of Cash. As with every other hard-fork, users have an economic stake in the hard-fork unless and until they sell their hard-forked coins. From blockchain analysis, we can observe that about half of all Cash has remained in place since the hard-fork. Presumably, these are the long-term investors in bitcoin who have their bitcoins in “cold storage.” The investor now has a vested interest in a hard-fork succeeding.

The combined market cap of Bitcoin and Cash increased on the day of the fork, indicating that the exit was not only cost free, but actually profitable for the entire network. Since the fork, Cash proponents have begun rebuilding their lost network effects. Gradually, Cash meetups, conferences, wallets, exchanges and services are adding support.

--

--