From da9cdd675931fece248e98eaf04e308f28427f67 Mon Sep 17 00:00:00 2001 From: Anthony Towns Date: Sun, 26 Jul 2020 14:55:16 +1000 Subject: [PATCH] BIP8: replace FAILING with MUST_SIGNAL This removes the FAILING state and adds compulsory signalling during a new MUST_SIGNAL phase during the last retarget period prior to the timeout height. This ensures that if a deployment occurs using bip8 with lockinontimeout=false and timeoutheight=N, that a later deployment using bip8 with lockinontimeout=true and timeoutheight=K, where K 46310 bytes bip-0008/states.svg | 142 ++++++++++++++++++++++---------------------- 4 files changed, 121 insertions(+), 109 deletions(-) diff --git a/bip-0008.mediawiki b/bip-0008.mediawiki index 6fa8ceab..189d976f 100644 --- a/bip-0008.mediawiki +++ b/bip-0008.mediawiki @@ -37,8 +37,8 @@ Each soft fork deployment is specified by the following per-chain parameters (fu # The '''name''' specifies a very brief description of the soft fork, reasonable for use as an identifier. For deployments described in a single BIP, it is recommended to use the name "bipN" where N is the appropriate BIP number. # The '''bit''' determines which bit in the nVersion field of the block is to be used to signal the soft fork lock-in and activation. It is chosen from the set {0,1,2,...,28}. # The '''startheight''' specifies the height of the first block at which the bit gains its meaning. -# The '''timeoutheight''' specifies a block height at which the miner signalling ends. Once this height has been reached, if the soft fork has not yet locked in (excluding this block's bit state), the deployment is either considered failed on all descendants of the block (but see the exception during '''FAILING''' state), or, if '''lockinontimeout'' is true, transitions to the '''LOCKED_IN''' state. -# The '''lockinontimeout''' boolean if set to true, will transition state to '''LOCKED_IN''' at timeoutheight if not already '''LOCKED_IN''' or '''ACTIVE'''. +# The '''timeoutheight''' specifies a block height at which the miner signalling ends. Once this height has been reached, if the soft fork has not yet locked in (excluding this block's bit state), the deployment is considered failed on all descendants of the block. +# The '''lockinontimeout''' boolean if set to true, blocks are required to signal in the final period, ensuring the soft fork has locked in by timeoutheight. ===Selection guidelines=== @@ -59,10 +59,10 @@ With each block and soft fork, we associate a deployment state. The possible sta # '''DEFINED''' is the first state that each soft fork starts out as. The genesis block is by definition in this state for each deployment. # '''STARTED''' for blocks at or beyond the startheight. -# '''LOCKED_IN''' for one retarget period after the first retarget period with STARTED blocks of which at least threshold have the associated bit set in nVersion, or for one retarget period after the timeout when '''lockinontimeout''' is true. +# '''MUST_SIGNAL''' for one retarget period prior to the timeout, if LOCKED_IN was not reached and '''lockinontimeout''' is true. +# '''LOCKED_IN''' for one retarget period after the first retarget period with STARTED (or MUST_SIGNAL) blocks of which at least threshold have the associated bit set in nVersion. # '''ACTIVE''' for all blocks after the LOCKED_IN retarget period. -# '''FAILING''' for one retarget period after the timeout, if LOCKED_IN was not reached and '''lockinontimeout''' is false. -# '''FAILED''' for all blocks after the FAILING retarget period. +# '''FAILED''' for all blocks after the timeoutheight if LOCKED_IN is not reached. ===Bit flags=== @@ -77,14 +77,13 @@ for the purposes of this proposal, and support two future upgrades for different When a block nVersion does not have top bits 001, it is treated as if all bits are 0 for the purposes of deployments. -Miners must continue setting the bit in LOCKED_IN phase so uptake is visible and acknowledged. -Blocks without the applicable bit set are invalid during this period. -For flexibility, this rule does NOT require the top 3 bits to be set any particular way. - ===New consensus rules=== The new consensus rules for each soft fork are enforced for each block that has ACTIVE state. +During the MUST_SIGNAL and LOCKED_IN phases, blocks that fail to signal are invalid. +For flexibility, during the LOCKED_IN phase only, this rule does NOT require the top 3 bits to be set any particular way. + ===State transitions=== @@ -121,7 +120,8 @@ We remain in the initial state until we reach the start block height. After a period in the STARTED state, we tally the bits set, and transition to LOCKED_IN if a sufficient number of blocks in the past period set the deployment bit in their version numbers. The threshold is ≥1916 blocks (95% of 2016), or ≥1512 for testnet (75% of 2016). -If the threshold hasn't been met, and we reach the timeout, then we either transition to LOCKED_IN state anyway (if lockinontimeout is true), or we transition to FAILING. +If the threshold hasn't been met, lockinontimeout is true, and we are at the last period before the timeout, then we transition to MUST_SIGNAL. +If the threshold hasn't been met and we reach the timeout, we transition directly to FAILED. Note that a block's state never depends on its own nVersion; only on that of its ancestors. @@ -131,28 +131,22 @@ Note that a block's state never depends on its own nVersion; only on that of its for (i = 0; i < 2016; i++) { walk = walk.parent; if (walk.nVersion & 0xE0000000 == 0x20000000 && (walk.nVersion >> bit) & 1 == 1) { - count++; + ++count; } } if (count >= threshold) { return LOCKED_IN; + } else if (lockinontimeout && block.height + 2016 >= timeoutheight) { + return MUST_SIGNAL; } else if (block.height >= timeoutheight) { - return (lockinontimeout == true) ? LOCKED_IN : FAILING; + return FAILED; } return STARTED; -If the deployment is not LOCKED_IN by the timeout (or '''lockinontimeout'''), it has a single retarget period during which it may still become active, only by unanimous signalling in every block. -This state exists such that if '''lockinontimeout''' is set to true later, it remains compatible with the original deployment. +If we have finished a period of MUST_SIGNAL, we transition directly to LOCKED_IN. - case FAILING: - walk = block; - for (i = 0; i < 2016; i++) { - walk = walk.parent; - if (walk.nVersion & 0xE0000000 == 0x20000000 && ((walk.nVersion >> bit) & 1) != 1) { - return FAILED; - } - } - return ACTIVE; + case MUST_SIGNAL: + return LOCKED_IN; After a retarget period of LOCKED_IN, we automatically transition to ACTIVE. @@ -178,6 +172,23 @@ current retarget period (i.e. up to and including its ancestor with height block it is possible to implement the mechanism above efficiently and safely by caching the resulting state of every multiple-of-2016 block, indexed by its parent. +===Mandatory signalling=== + +Blocks received while in the MUST_SIGNAL and LOCKED_IN phases must be checked to ensure that they signal. For example: + + if (GetStateForBlock(block) == MUST_SIGNAL) { + if ((block.nVersion & 0xE0000000) != 0x20000000 || ((block.nVersion >> bit) & 1) != 1) { + return state.Invalid(BlockValidationResult::RECENT_CONSENSUS_CHANGE, "bad-version-bip8-must-signal"); + } + } + if (GetStateForBlock(block) == LOCKED_IN) { + if (((block.nVersion >> bit) & 1) != 1) { + return state.Invalid(BlockValidationResult::RECENT_CONSENSUS_CHANGE, "bad-version-bip8-locked-in"); + } + } + +Implementations should be careful not to ban peers that send blocks that are invalid due to not signalling (or blocks that build on those blocks), as that would allow an incompatible chain that is only briefly longer than the compliant chain to cause a split of the p2p network. If that occurred, nodes that have not set ''lockinontimeout'' may not see new blocks in the compliant chain, and thus not reorg to it at the point when it has more work, and would thus not be following the valid chain with the most work. + ===Warning mechanism=== To support upgrade warnings, an extra "unknown upgrade" is tracked, using the "implicit bit" mask = (block.nVersion & ~expectedVersion) != 0. Mask will be non-zero whenever an unexpected bit is set in nVersion. Whenever LOCKED_IN for the unknown upgrade is detected, the software should warn loudly about the upcoming soft fork. It should warn even more loudly after the next retarget period (when the unknown upgrade is in the ACTIVE state). @@ -211,7 +222,7 @@ The template Object is also extended: The "version" key of the template is retained, and used to indicate the server's preference of deployments. 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". -Servers MUST set bits in "vbrequired" for deployments in LOCKED_IN state, to ensure blocks produced are valid. +Servers MUST set bits in "vbrequired" for deployments in MUST_SIGNAL and LOCKED_IN states, to ensure blocks produced are valid. Softfork deployment names listed in "rules" or as keys in "vbavailable" may be prefixed by a '!' character. Without this prefix, GBT clients may assume the rule will not impact usage of the template as-is; typical examples of this would be when previously valid transactions cease to be valid, such as BIPs 16, 65, 66, 68, 112, and 113. @@ -225,9 +236,8 @@ https://github.com/bitcoin/bitcoin/compare/master...luke-jr:bip8 ==Contrasted with BIP 9== -* The '''lockinontimeout''' flag is added. BIP 9 would only transition to the FAILED state when timeout was reached. +* The '''lockinontimeout''' flag is added, providing a way to guarantee transition to LOCKED_IN. * Block heights are used for the deployment monotonic clock, rather than median-time-past. -* The last-ditch effort during a new FAILING state is added to allow '''lockinontimeout''' to be safely set after the initial deployment. ==Backwards compatibility== diff --git a/bip-0008/states.dot b/bip-0008/states.dot index 5c5a6712..aa919ffc 100644 --- a/bip-0008/states.dot +++ b/bip-0008/states.dot @@ -1,17 +1,19 @@ digraph { rankdir=TD; - node [style="rounded,filled,bold", shape=box, fixedsize=true, width=1.3, fontname="Arial"]; + node [style="rounded,filled,bold", shape=box, fixedsize=true, width=1.5, fontname="Arial"]; edge [weight = 100]; "DEFINED" -> "STARTED" [label="height >= start_height"]; - "STARTED" -> "FAILING" [label="height >= timeoutheight AND NOT lockinontimeout"]; - "STARTED" -> "LOCKED_IN" [label="(height < timeoutheight AND threshold reached)\nOR\n(height >= timeoutheight AND lockinontimeout)"]; + "STARTED" -> "MUST_SIGNAL" [label="height + 2016 >= timeoutheight AND lockinontimeout"]; + "STARTED" -> "FAILED" [label="height >= timeoutheight\nAND\nNOT lockinontimeout"]; "LOCKED_IN" -> "ACTIVE" [label="always"]; - "FAILING" -> "FAILED" [label="NOT all blocks signal"]; + "MUST_SIGNAL" -> "LOCKED_IN" [label="always"]; edge [weight = 1]; - "FAILING" -> "ACTIVE" [label="all blocks signal"]; + "STARTED" -> "LOCKED_IN" [label="height < timeoutheight\nAND\nthreshold reached"]; + + "FAILED" -> "LOCKED_IN" [style=invis]; "DEFINED":sw -> "DEFINED":nw; "STARTED":sw -> "STARTED":nw; @@ -19,16 +21,14 @@ digraph { "FAILED":sw -> "FAILED":nw; "STARTED" [fillcolor="#a0a0ff"]; - - "FAILING" [fillcolor="#ffffa0"]; + "MUST_SIGNAL" [fillcolor="#a0a0ff"]; "LOCKED_IN" [fillcolor="#ffffa0"]; - "ACTIVE" [fillcolor="#a0ffa0", shape=box]; - "FAILED" [fillcolor="#ffa0a0", shape=box]; + "ACTIVE" [fillcolor="#a0ffa0"]; + "FAILED" [fillcolor="#ffa0a0"]; - "ACTIVE" -> "FAILED" [style=invis]; - - { rank=same; "STARTED" "FAILING" } - { rank=sink; "ACTIVE" "FAILED" } + { rank=same; "STARTED" "MUST_SIGNAL" } + { rank=same; "FAILED" "LOCKED_IN" } + { rank=sink; "ACTIVE" } } diff --git a/bip-0008/states.png b/bip-0008/states.png index b6d73b78d76cd15cdc8a5aaeeefba190872dffeb..6477ed3afbeb8ef95d9429f95220272f2eb6e129 100644 GIT binary patch literal 46310 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 literal 48261 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 F`ad`#ta< - + %3 - + DEFINED - -DEFINED + +DEFINED - + DEFINED:sw->DEFINED:nw @@ -24,95 +24,97 @@ STARTED - -STARTED + +STARTED DEFINED->STARTED - - -height >= start_height + + +height >= start_height - + STARTED:sw->STARTED:nw - + -FAILING - -FAILING +MUST_SIGNAL + +MUST_SIGNAL - + -STARTED->FAILING - - -height >= timeoutheight AND NOT lockinontimeout - - - -LOCKED_IN - -LOCKED_IN - - - -STARTED->LOCKED_IN - - -(height < timeoutheight AND threshold reached) -OR -(height >= timeoutheight AND lockinontimeout) - - - -ACTIVE - -ACTIVE - - - -FAILING->ACTIVE - - -all blocks signal +STARTED->MUST_SIGNAL + + +height + 2016 >= timeoutheight AND lockinontimeout - + FAILED - -FAILED + +FAILED - + + +STARTED->FAILED + + +height >= timeoutheight +AND +NOT lockinontimeout + + + +LOCKED_IN + +LOCKED_IN + + + +STARTED->LOCKED_IN + + +height < timeoutheight +AND +threshold reached + + -FAILING->FAILED - - -NOT all blocks signal +MUST_SIGNAL->LOCKED_IN + + +always + + + +FAILED:sw->FAILED:nw + + + + + + +ACTIVE + +ACTIVE LOCKED_IN->ACTIVE - - -always + + +always - -ACTIVE:sw->ACTIVE:nw - - - - - -FAILED:sw->FAILED:nw - - +ACTIVE:sw->ACTIVE:nw + +