UASF/Segwit2x Scenarios and Timelines

A bunch of miners started signaling for BIP91 yesterday and a lot of people are feeling more hopeful about the state of Bitcoin as Segwit looks to lock in and activate. In this post, I’m going to update you on the latest developments and what could happen when.

BIP91 Signaling

In case you are not familiar, BIP91 is a mechanism by which Segwit (BIP141) can get activated using only 80% of network agreement instead of the 95% required by BIP141. Essentially, BIP91 requires blocks to signal for BIP141 once 80% of a 336-block epoch signals at bit 4. After BIP91 activation, if blocks don’t signal for BIP141, these blocks are orphaned in exactly the same fashion as BIP148 (UASF) is supposed to do. This is a way to front-run BIP148 and remove the possibility of a fork.

BIP91 Lock-In

BIP91 has a special mechanism for lock-in that’s different than other BIP9-based soft forks. BIP141 (Segwit) requires 95% over 2016 blocks whereas BIP91 requires 80% over 336 blocks (336 was apparently chosen because it’s 2016/6). This means that it takes roughly 56 hours for a single “epoch” where signaling can be counted. Since we’ve started so early, we have roughly 6 “epochs” where BIP91 can lock in. (Please note here that “epoch” is my term, used for convenience, not anything official.)

Optimistic Timeline

The current BIP91 epoch started at block 476112 (2017 July 16) and ends at block 476448 (~2017 July 19 02:00 GMT). As too many blocks failed to signal for BIP91 already in this epoch, BIP91 lock-in will not happen by block 476448.

  • 2017 July 21 10:00 GMT — BIP91 epoch closes with >80% signaling and BIP91 locks-in
  • 2017 July 23 18:00 GMT — BIP91 epoch finishes, BIP91 is activated
  • 2017 July 23 18:00 GMT onward — Every block signals BIP141 (Segwit)
  • 2017 July 27 or thereabouts — New Difficulty Adjustment Period Begins (2016 blocks). Every block will be signaling for Segwit.
  • 2017 August 1 00:00 GMT — BIP148 starts, but does nothing since every block is signaling BIP141 due to BIP91.
  • 2017 August 10 or thereabouts — Difficulty Adjustment Period closes with >95% signaling and BIP141 locks-in.
  • 2017 August 23 or thereabouts — Difficulty Adjustment Period closes and BIP141 (Segwit) is active.
  • 2017 November 18 or thereabouts — 2x Hard Fork (scheduled)

Delayed Timeline

Should BIP91 signaling not reach the 80% threshold in a particular epoch, but get there before July 28 or so, we could see a similar scenario playing out. In this scenario, some New York Agreement miners somehow are delayed in signaling for BIP91 and it would look something like this:

  • 2017 July 21 10:00 GMT — BIP91 epoch closes with <80% signaling.
  • 2017 July 23 18:00 GMT — BIP91 epoch closes with <80% signaling.
  • 2017 July 26 02:00 GMT — BIP91 epoch closes with >80% signaling and BIP91 locks in.
  • 2017 July 28 10:00 GMT — BIP91 epoch closes, BIP91 is activated.
  • 2017 July 28 10:00 GMT onward — Every block signals BIP141 (Segwit)
  • 2017 July 27 or thereabouts — New Difficulty Adjustment Period Begins (2016 blocks). Every block from 7/28 will be signaling for Segwit, which is likely to be enough (95%).
  • 2017 August 1 00:00 GMT — BIP148 starts, but does nothing since every block is signaling BIP141 due to BIP91.
  • 2017 August 10 or thereabouts — Difficulty Adjustment Period closes with >95% signaling and BIP141 locks-in.
  • 2017 August 23 or thereabouts — Difficulty Adjustment Period closes and BIP141 (Segwit) is active.
  • 2017 November 18 or thereabouts — 2x Hard Fork (scheduled)

Failed BIP91 Timeline

Should BIP91 signaling somehow not reach 80% before July 28 or so, we’ll most likely split:

  • 2017 July 20 10:00 GMT — BIP91 epoch closes with <80% signaling.
  • 2017 July 22 18:00 GMT — BIP91 epoch closes with <80% signaling.
  • 2017 July 25 02:00 GMT — BIP91 epoch closes with <80% signaling.
  • 2017 July 27 10:00 GMT — BIP91 epoch closes with <80% signaling.
  • 2017 July 29 18:00 GMT — BIP91 epoch closes with <80% signaling.
  • 2017 August 1 00:00 GMT — BIP148 starts. This likely results in two chains on the network whether with minority hash rate or with majority hash rate and a hard fork by miners.

Probability of Each Scenario

The two scenarios where there is no split (and where Segwit activates) seem more likely than the failed BIP91 scenario. The Failed BIP91 scenario can only really come about if a miner who signed the New York Agreement decides to betray it. This is obviously possible, but would probably engender all manner of mistrust, especially among the NYA signers.

Conclusion

It looks as if BIP91 will lock in if the New York Agreement holds. An epoch with 80% signaling should happen in the next week or so and a mandatory BIP141 signaling soft-fork rule will be on the network a couple days later. This should mean BIP148 will be front-run and won’t result in a network split.

Bitcoin Educator, Developer and Entrepreneur. Book: https://amzn.to/2RSlnTb PGP Fingerprint: C1D7 97BE 7D10 5291 228C D70C FAA6 17E3 2679 E455