BIP User Activated Soft Fork Split Protection #546

pull jameshilliard wants to merge 1 commits into bitcoin:master from jameshilliard:bip-splitprotection changing 1 files +105 −0
  1. jameshilliard commented at 9:28 PM on June 7, 2017: contributor
  2. BIP User Activated Soft Fork Split Protection cdda2d3f24
  3. kek-coin commented at 10:32 PM on June 7, 2017: none

    The SPLITPROTECTION part of the reference implementation does not seem to match the described behaviour; is this still "todo"?

  4. jameshilliard commented at 10:38 PM on June 7, 2017: contributor

    @kek-coin What part specifically does not match?

  5. kek-coin commented at 10:51 PM on June 7, 2017: none

    I'm not seeing the 65% or the 504 block-interval anywhere, and it is not clear to me (from the text or the code) if this is supposed to be a rolling window or a quarter of a difficulty retarget. The code seems to refer to a regular BIP9 state machine, and only enforces mandatory signalling during the LOCKED_IN phase; not during the ACTIVE phase, unless I am misreading.

  6. jameshilliard commented at 10:53 PM on June 7, 2017: contributor

    This is the interval and this is the percentage.

  7. in bip-splitprotection.mediawiki:50 in cdda2d3f24
      45 | +    LOCK(cs_main);
      46 | +    return (VersionBitsState(pindexPrev, params, Consensus::DEPLOYMENT_SEGWIT, versionbitscache) == THRESHOLD_LOCKED_IN);
      47 | +}
      48 | +
      49 | +// SPLITPROTECTION mandatory segwit signalling.
      50 | +if ( VersionBitsState(pindex->pprev, chainparams.GetConsensus(), Consensus::DEPLOYMENT_SPLITPROTECTION, versionbitscache) == THRESHOLD_LOCKED_IN &&
    


    Vaesper commented at 11:59 PM on June 7, 2017:

    Suggest replacing

    VersionBitsState(pindex->pprev, chainparams.GetConsensus(), Consensus::DEPLOYMENT_SPLITPROTECTION, versionbitscache) == THRESHOLD_LOCKED_IN &&
    

    with

    (VersionBitsState(pindex->pprev, chainparams.GetConsensus(), Consensus::DEPLOYMENT_SPLITPROTECTION, versionbitscache) == THRESHOLD_LOCKED_IN ||
     VersionBitsState(pindex->pprev, chainparams.GetConsensus(), Consensus::DEPLOYMENT_SPLITPROTECTION, versionbitscache) == THRESHOLD_STARTED ) &&
    
  8. luke-jr commented at 7:53 PM on June 10, 2017: member

    This is just a revision to BIP 91. Please update the correct file.

  9. jameshilliard commented at 11:27 PM on June 14, 2017: contributor

    @luke-jr this is intended to be separate since it uses BIP8 style activation logic instead of BIP9 as well as a different threshold and version bit

  10. luke-jr commented at 11:53 PM on June 14, 2017: member

    Minor implementation details of a young draft. Just change the existing BIP.

  11. jameshilliard commented at 12:02 AM on June 15, 2017: contributor

    @luke-jr I disagree that these are minor details, there are different risks associated with the activation methods.

  12. luke-jr commented at 5:23 AM on July 26, 2017: member

    @jameshilliard I suggest closing this.

  13. jameshilliard closed this on Jul 26, 2017


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-05 10:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me