Blockchain/Level III · The network/3.3 Consensus and governance/Lesson 6
SegWit activation and the UASF
The standoff between hash power and economic stake
MaterialsA block explorer with historical data (e.g., blockchain.com or mempool.space)The BIP repository on GitHubA notebook for tracking version bits and lock-in heights
Wonder
- Why did a soft fork with broad user support sit unactivated for most of a year?
- How does a User-Activated Soft Fork (UASF) shift the balance of power from miners to full-node operators?
- What prevented a BIP148 (UASF) chain split on 1 August 2017?
Explore
- BIP141, Segregated Witness, used BIP9 signaling which required 95% of blocks in a 2,016-block period to signal readiness. Through 2016 and early 2017, miner support stalled around one-third of the network’s hashpower. This impasse created tension because the standard activation mechanism relied on miners voluntarily indicating they were ready to enforce new consensus rules.
- The pseudonymous developer Shaolin Fry introduced BIP148 in March 2017 as a user-activated soft fork (UASF): from 1 August 2017, participating nodes would reject any block that did not signal SegWit. It risked splitting the chain if most miners ignored it, but it turned users’ nodes, rather than miners, into the ones setting the deadline.
- The New York Agreement in May 2017 attempted to resolve the dispute between businesses and miners. Signatories committed to activating SegWit first, followed by a later 2 MB hard fork known as SegWit2x. Most Bitcoin Core contributors opposed the hard-fork component and did not take part.
- To avoid the August split, BIP91 was adopted in July 2017. It was a separate deployment that locked in once 80% of blocks signaled on bit 4; once active, BIP91 nodes rejected blocks that did not signal SegWit, which pushed SegWit’s own 95% signaling over the line and kept the chain compatible with BIP148 nodes.
- SegWit locked in on 9 August 2017 (block 479,808) and activated at block 481,824 on August 24, 2017. On August 1, 2017, the Bitcoin Cash hard fork occurred as a separate event driven by those who rejected the SegWit approach in favor of larger blocks. The original chain continued with SegWit, while Bitcoin Cash diverged with its own scaling strategy.
- The planned November 2017 SegWit2x hard fork was canceled due to strong opposition from exchanges and users fearing a permanent split. Its lessons are contested: UASF supporters credit users’ nodes for forcing the outcome, while others argue miners and businesses chose to activate SegWit through the New York Agreement and BIP91. Either way, contested changes proved to need support from miners, businesses and node operators at once.
Key facts
- BIP148 (UASF), proposed by Shaolin Fry in March 2017, had nodes reject blocks not signaling SegWit from 1 August 2017.
- SegWit locked in on 9 August 2017 (block 479,808) after miners signaled via BIP91, and activated on August 24, 2017 at block 481,824.
- Bitcoin Cash forked from Bitcoin on August 1, 2017, creating a hard fork with larger blocks while SegWit activated on the original chain.
- The New York Agreement (May 2017) was signed by companies representing roughly 83% of hash power; its 2 MB hard-fork component, SegWit2x, was aborted in November 2017.
- BIP9 signaling for SegWit began in November 2016 but stalled despite broad user support, prompting the development of UASF as a counter-measure.
- BIP91 locked in at 80% signaling and then enforced SegWit signaling, avoiding a BIP148 chain split.
Exercise nine, six, three, one
9CollectList 9 key dates between November 2016 and November 2017 related to the SegWit activation process.
6ClusterGroup these 9 dates into 6 phases: initial stalling, UASF proposal, New York Agreement, BIP91 adoption, SegWit lock-in/activation, and post-fork resolution.
3DistillReduce the 6 phases to 3 core dynamics that determined the outcome of the activation process.
1CrystallizeWrite 1 sentence explaining why full-node operators have significant influence over Bitcoin protocol changes despite not controlling mining hardware.
Fact check
Dates, figures and claims checked against the published sources listed below.
- BIP141: Segregated Witness (Consensus layer)
- BIP148: Mandatory activation of segwit deployment
- BIP91: Reduced threshold Segwit MASF
- J. Bier, The Blocksize War (2021)