LearnBitcoin

Glossary

BIP 91

A signaling coordination method during the SegWit activation phase of 2017's scaling debates.

BIP-91 is the miner-coordinated mechanism that activated SegWit in August 2017, defusing what was about to be a chain-splitting confrontation with BIP-148 (UASF).

The deadlock context: miners had been able to signal for SegWit since November 15, 2016, but it needed 95% of the blocks in a 2,016-block period under BIP-9. Support stayed far short of that. By the SegWit2x organizers' own count, only 30% of miners backed SegWit in May 2017. BIP-148's supporters were preparing to reject blocks that did not signal for SegWit from August 1, 2017, which could have split the chain.

BIP-91 was the compromise. Authored by James Hilliard and adopted by miners as part of the "SegWit2x" / New York Agreement effort, it let miners make SegWit signaling mandatory through a separate deployment with an 80% threshold of its own. It did not change SegWit's 95% threshold. How it worked:

  1. 80% threshold. BIP-91 locked in once 269 of 336 blocks (80%) signaled for it on a bit of its own, far below the 95% SegWit needed.
  2. Mandatory. Once BIP-91 was active, every block had to signal for SegWit, or nodes enforcing BIP-91 rejected it.
  3. Quick deployment. Signaling opened June 1, 2017. BIP-91 locked in on July 21 and went live at block 477,120 on July 23, 2017 (UTC). It stopped applying once SegWit itself locked in.

What this actually achieved:

  • SegWit signaling before the deadline. BIP-91 went live about nine days before BIP-148's August 1 deadline. Every block from then until SegWit locked in signaled for it, which also met BIP-148's rule, so the split the UASF had threatened never came. SegWit locked in on August 9 and activated at block 481,824 on August 24, 2017.
  • It made the two plans compatible. The SegWit2x miners kept their 80% trigger, and BIP-148's supporters saw SegWit signaling in place before August 1.
  • The "SegWit2x" hard-fork half of the agreement was abandoned on November 8, 2017. Its organizers wrote that they had not built enough consensus for the 2MB block-size increase. The "2x" never happened.

BIP-91 is a small technical document with outsized historical importance. It's the bridge between a stalemate and a successful upgrade.

See The Block Size War for the standoff BIP-91 defused.

Key takeaways

  • Soft-fork coordination tool for SegWit signaling
  • Part of the 2017 New York Agreement
  • Helped finalize SegWit activation despite controversy

Corrected

  • Was: The entry said BIP-91 lowered SegWit's activation threshold to 80%.

    Now: BIP-91 was a separate deployment with its own 80% threshold, on bit 4. It made SegWit signaling mandatory, but SegWit's own 95% threshold never changed, and every block in the period before SegWit's lock-in signaled for it. Details

  • Was: The entry said SegWit activated about 10 days before BIP-148's August 1, 2017 deadline, and that BIP-91 locked in in mid-July and activated in August. It also described the miners holding out as a minority who had refused for over a year.

    Now: BIP-91 locked in on July 21, 2017 and went live at block 477,120 on July 23, and every block from then until SegWit locked in signaled for it. SegWit itself locked in on August 9 and activated at block 481,824 on August 24. Signaling for SegWit had been open since November 2016, and the SegWit2x organizers put miner support at only 30% in May 2017. Details

Sources (11)

Related terms (9)

Published . Revised . Two corrections logged for this page.

Edit this page on GitHub