1
0
Fork 0
mirror of https://github.com/bitcoin/bips.git synced 2025-03-04 11:08:05 +01:00

BIP 9: rules/force mutation

This commit is contained in:
Luke Dashjr 2016-04-25 00:18:39 +00:00
parent 074909a173
commit d28a720f2a

View file

@ -191,6 +191,19 @@ The "version" key of the template is retained, and used to indicate the server's
If versionbits is being used, "version" MUST be within the versionbits range of [0x20000000...0x3FFFFFFF]. If versionbits is being used, "version" MUST be within the versionbits range of [0x20000000...0x3FFFFFFF].
Miners MAY clear or set bits in the block version WITHOUT any special "mutable" key, provided they are listed among the template's "vbavailable" and (when clearing is desired) NOT included as a bit in "vbrequired". Miners MAY clear or set bits in the block version WITHOUT any special "mutable" key, provided they are listed among the template's "vbavailable" and (when clearing is desired) NOT included as a bit in "vbrequired".
The mutable key defined by BIP 23 is expanded to optionally include one new mutation:
{| class="wikitable"
!colspan=4| mutations
|-
! Value !! Significance
|-
| rules/force || the miner may ignore rules it does not understand, if the template is to be used as-is (not modified by the client)
|}
Servers should only signal this mutation when they have verified a client behaving this way will not produce invalid blocks.
This includes verifying the client's supported rules (listed in the template request) are not lacking of a rule that would change serialisation.
==Support for future changes== ==Support for future changes==
The mechanism described above is very generic, and variations are possible for future soft forks. Here are some ideas that can be taken into account. The mechanism described above is very generic, and variations are possible for future soft forks. Here are some ideas that can be taken into account.