Skip to content

Instantly share code, notes, and snippets.

@shaolinfry
Created April 26, 2017 01:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save shaolinfry/9257e119dbafd73c6dcfd72d1d6c9219 to your computer and use it in GitHub Desktop.
Save shaolinfry/9257e119dbafd73c6dcfd72d1d6c9219 to your computer and use it in GitHub Desktop.

  BIP: ?
  Layer: Consensus (soft fork)
  Title: Segwit deployment with versionbits and guaranteed lock-in
  Author: Shaolin Fry <shaolinfry@protonmail.ch>
  Comments-Summary: No comments yet.
  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-????
  Status: Draft
  Type: Standards Track
  Created: 2017-04-14
  License: BSD-3-Clause
           CC0-1.0

Table of Contents

Abstract

This document specifies a user activated soft fork for BIP141, BIP143 and BIP147 using versionbits with guaranteed lock-in.

Motivation

Miners have been reluctant to signal the BIP9 segwit deployment despite a large portion of the Bitcoin ecosystem who want the soft fork activated. This BIP specifies a user activated soft fork (UASF) that deploys segwit again using versionbits with guaranteed lock-in on timeout if the BIP is not already locked-in or activated by the timeout. This ensures users have sufficient time to prepare and no longer require a miner supermajority, while still allowing for an earlier miner activated soft fork (MASF).

Reference implementation

https://github.com/bitcoin/bitcoin/compare/master...shaolinfry:uasegwit-flagday

Specification

This deployment will set service bit (1<<5) as NODE_UAWITNESS.

Deployment

This BIP will be deployed by BIP8 with the name "uasegwit" and using bit 2.

For Bitcoin mainnet, the BIP8 starttime will be midnight 16 November 2017 UTC (Epoch timestamp 1510790400) and BIP8 timeout will be 4 July 2018 UTC (Epoch timestamp 1530662400).

For Bitcoin testnet, segwit is already activated so no deployment is specified.

Rationale

This BIP can be deployed well in advance of the BIP8 starttime so that the timeout will be sufficiently far in the future to allow Bitcoin users to uprgade in preparation.

The starttime of this BIP is after the BIP9 "segwit" timeout to remove compatibility issues with old nodes.

References

BIP8

BIP9

BIP141

BIP143

BIP147

Copyright

This document is dual licensed as BSD 3-clause, and Creative Commons CC0 1.0 Universal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment