Remove 16 bits from versionbits signalling system (BIP320) #13972

pull btcdrak wants to merge 2 commits into bitcoin:master from btcdrak:reservedbits2 changing 4 files +30 −21
  1. btcdrak commented at 9:56 PM on August 14, 2018: contributor

    Over 5% of the hashpower is currently using version-rolling which consumes bits from the nVersion in the blockheader. Miners are generally using the the bits within the range 0x1fffe000 as per recommendation in the reserved bits proposal as well as the BIP 310 stratum-extension for version-rolling.

    Before this pull request the BIP9/versionbits system will emit false warnings for unknown softforks when version-rolling is used. This pull request removes the bits in the range 0x1fffe000 so version-rolling, or other miner use of those bits, will not falsely trigger the warning system or interfere with soft forks.

    False positive warnings are toxic because it leads to node operators ignoring warning messages, thus defeating the purpose of a warning system.

  2. MarcoFalke added the label Validation on Aug 14, 2018
  3. domob1812 commented at 6:03 AM on August 15, 2018: contributor

    Code df4b187f3c2c236a22aa1a333e6de6919b9e7940 looks good and corresponds to BIP proposal. I have no particular opinion about whether or not the concept is a good idea (but I don't see why it wouldn't be).

  4. luke-jr commented at 6:11 AM on August 15, 2018: member

    Prior discussion: #12633

    I have not seen consensus for this protocol change, nor any notable effort to gain consensus for it.

    I don't think it's a good precedent to set, to make protocol changes in Core simply as a result of miners violating the protocol without consensus.

  5. DrahtBot cross-referenced this on Oct 20, 2018 from issue Constexpr Everything Part 1: Constants by DesWurstes
  6. DrahtBot commented at 12:01 PM on October 20, 2018: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #17032 (Tests: Chainparams: Make regtest almost fully customizable by jtimon)
    • #15861 (Restore warning for individual unknown version bits, as well as unknown version schemas by luke-jr)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  7. practicalswift cross-referenced this on Oct 22, 2018 from issue Enable flake8 rule E225 which checks for missing whitespace around op… by jbampton
  8. Sjors cross-referenced this on Feb 25, 2019 from issue rpc/gui: Remove 'Unknown block versions being mined' warning by laanwj
  9. Sjors commented at 12:12 PM on February 25, 2019: member

    Potentially superseded by entirely removing this warning in #15471.

  10. laanwj commented at 12:31 PM on February 25, 2019: member

    Concept ACK.

    I really don't know whether this one or #15471 is preferable, but I think something needs to be done against the false positives soon as this seems to be more controversial than removing the warning. Can still be done later, if wanted.

  11. TheBlueMatt commented at 3:54 PM on February 25, 2019: contributor

    Concept ACK.

  12. MarcoFalke renamed this:
    Remove 16 bits from versionbits signalling system
    Remove 16 bits from versionbits signalling system (BIP320)
    on Feb 25, 2019
  13. MarcoFalke commented at 7:12 PM on February 25, 2019: member

    Updated pull request title with assigned BIP number https://github.com/bitcoin/bips/blob/master/bip-0320.mediawiki

  14. Sjors commented at 7:43 PM on February 25, 2019: member

    @TheBlueMatt does BIP-320 assign the same version bits as your BetterHash draft BIP? If so, maybe that's useful to point out in BIP-320 and/or vice versa.

  15. practicalswift commented at 11:02 PM on February 25, 2019: contributor

    Concept ACK

  16. MarcoFalke closed this on Feb 26, 2019

  17. MarcoFalke reopened this on Feb 26, 2019

  18. Remove 16 bits from versionbits signalling system (BIP320) 7e0f25ca1e
  19. btcdrak force-pushed on May 19, 2019
  20. Remove unused import (fixes Lint test) 6ac67595eb
  21. btcdrak commented at 2:57 AM on May 21, 2019: contributor

    Rebased.

  22. MarcoFalke cross-referenced this on Jul 8, 2019 from issue warning='45 of last 100 blocks have unexpected version' by Fillippone
  23. practicalswift commented at 7:49 AM on July 10, 2019: contributor

    FWIW, this still seems to confuse our users: see issue #16343 ("warning='45 of last 100 blocks have unexpected version").

  24. jtimon commented at 8:16 PM on October 5, 2019: contributor

    Concept ACK, but to answer @luke-jr concerns, perhaps this deserves a BIP.

  25. practicalswift commented at 4:42 PM on November 4, 2019: contributor

    Continued confusion for our users: see issue #17295 :(

  26. DrahtBot cross-referenced this on Feb 11, 2020 from issue Tests: Chainparams: Make regtest almost fully customizable by jtimon
  27. DrahtBot cross-referenced this on Feb 11, 2020 from issue Restore warning for individual unknown version bits, as well as unknown version schemas by luke-jr
  28. DrahtBot commented at 8:35 PM on March 9, 2020: contributor

    <!--5d09a71f8925f3f132321140b44b946d-->The last travis run for this pull request was 293 days ago and is thus outdated. To trigger a fresh travis build, this pull request should be closed and re-opened.

  29. DrahtBot closed this on Mar 9, 2020

  30. DrahtBot reopened this on Mar 9, 2020

  31. fanquake added the label Up for grabs on Mar 10, 2020
  32. fanquake commented at 11:50 AM on March 10, 2020: member

    Given the author is no longer active, and one of the last comments on the issue from @laanwj in #15471:

    (FWIW I prefer [#13972](/github-metadata-backup-bitcoin-bitcoin/13972/) too but I think there's no realistic chance of it making it in)

    I'm going to close this. However given this has 4 Concept ACKs, I'll mark it as "up for grabs".

  33. fanquake closed this on Mar 10, 2020

  34. Sjors commented at 9:26 AM on June 25, 2021: member

    Note that Stratum V2 also supports BIP-310 / BIP-320 version bit rolling and claims it is "extremely common and widely adopted".

    In any case, now that we suppress spurious notifications I suppose we can kick this discussion can down the road until we actually need bit 13 in the year 2050 or so :-)

    I'd be curious to know if that's all the bits realistically needed - for the next 50 years - given some reasonable assumptions about thermodynamic limits to mining. But this is more of a bitcoin-dev mailinglist thing.

    To answer my own question from two years ago:

    @TheBlueMatt does BIP-320 assign the same version bits as your BetterHash draft BIP? If so, maybe that's useful to point out in BIP-320 and/or vice versa.

    BIP-310 describes a negotiation process where the miner indicates which bits it can roll, how many bits it wants to roll, and then the pool answers which bits it permits (taking into account ongoing softfork signalling and such).

    https://braiins.com/stratum-v2#native

  35. MarcoFalke removed the label Up for grabs on Jun 25, 2021
  36. bitcoin locked this on Aug 16, 2022

github-metadata-mirror

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