Skip to content

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

Closed
btcdrak wants to merge 2 commits into
bitcoin:masterfrom
btcdrak:reservedbits2
Closed

Remove 16 bits from versionbits signalling system (BIP320)#13972
btcdrak wants to merge 2 commits into
bitcoin:masterfrom
btcdrak:reservedbits2

Conversation

@btcdrak

@btcdrak btcdrak commented Aug 14, 2018

Copy link
Copy Markdown
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.

@domob1812

Copy link
Copy Markdown
Contributor

Code df4b187 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).

@luke-jr

luke-jr commented Aug 15, 2018

Copy link
Copy Markdown
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.

@DrahtBot

DrahtBot commented Oct 20, 2018

Copy link
Copy Markdown
Contributor

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

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.

@Sjors

Sjors commented Feb 25, 2019

Copy link
Copy Markdown
Member

Potentially superseded by entirely removing this warning in #15471.

@laanwj

laanwj commented Feb 25, 2019

Copy link
Copy Markdown
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.

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Concept ACK.

@maflcko maflcko changed the title Remove 16 bits from versionbits signalling system Remove 16 bits from versionbits signalling system (BIP320) Feb 25, 2019
@maflcko

maflcko commented Feb 25, 2019

Copy link
Copy Markdown
Member

@Sjors

Sjors commented Feb 25, 2019

Copy link
Copy Markdown
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.

@practicalswift

Copy link
Copy Markdown
Contributor

Concept ACK

@maflcko maflcko closed this Feb 26, 2019
@maflcko maflcko reopened this Feb 26, 2019
@btcdrak

btcdrak commented May 21, 2019

Copy link
Copy Markdown
Contributor Author

Rebased.

@practicalswift

Copy link
Copy Markdown
Contributor

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

@jtimon

jtimon commented Oct 5, 2019

Copy link
Copy Markdown
Contributor

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

@practicalswift

Copy link
Copy Markdown
Contributor

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

@DrahtBot

DrahtBot commented Mar 9, 2020

Copy link
Copy Markdown
Contributor
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.

@DrahtBot DrahtBot closed this Mar 9, 2020
@DrahtBot DrahtBot reopened this Mar 9, 2020
@fanquake

Copy link
Copy Markdown
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 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".

@fanquake fanquake closed this Mar 10, 2020
@Sjors

Sjors commented Jun 25, 2021

Copy link
Copy Markdown
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

@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.