[bitcoin/bitcoin] Remove 16 bits from versionbits signalling system (#13972)

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](https://github.com/bitcoin/bips/pull/661/files) proposal as well as the [BIP 310 stratum-extension](https://github.com/bitcoin/bips/pull/709/files) for version-rolling.

Before this pull request the BIP9/versionbits system will emit false warnings for unknown softforks. 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.
You can view, comment on, or merge this pull request online at:


— Commit Summary —

* Remove 16 bits from versionbits signalling

— File Changes —

M src/chainparams.cpp (6)
M src/validation.cpp (2)
M src/versionbits.h (4)
M test/functional/feature_versionbits_warning.py (12)

— Patch Links —


Добавить комментарий