From 155ce23c2f78158c92dcde56620e20797c3a3b91 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Sun, 25 Jun 2017 06:29:23 +0000 Subject: [PATCH] BIP 8: Add FAILING state to allow lockinontimeout upgrades --- bip-0008.mediawiki | 29 ++++++++++++++++++++++------- bip-0008/states.png | Bin 21180 -> 27151 bytes bip-0008/states.svg | 22 ++++++++++++++-------- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/bip-0008.mediawiki b/bip-0008.mediawiki index feb932791c..26e8572813 100644 --- a/bip-0008.mediawiki +++ b/bip-0008.mediawiki @@ -33,7 +33,7 @@ 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 '''start''' specifies the height of the first block at which the bit gains its meaning. -# The '''timeout''' 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, or, if '''lockinontimeout'' is true, transitions to the '''LOCKED_IN''' state. +# The '''timeout''' 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 timeout if not already '''LOCKED_IN''' or '''ACTIVE'''. ===Selection guidelines=== @@ -44,7 +44,7 @@ The following guidelines are suggested for selecting these parameters for a soft # '''bit''' should be selected such that no two concurrent softforks use the same bit. # '''start''' should be set to some block height in the future, approximately one month after a software release date including the soft fork. This allows for some release delays, while preventing triggers as a result of parties running pre-release software, and ensures a reasonable number of full nodes have upgraded prior to activation. It should be rounded up to the next height which begins a retarget period. # '''timeout''' should be approximately 1 year after start, and on a block which begins a retarget period. Therefore, '''start''' plus 52416. -# '''lockinontimeout''' should be set to true for any softfork that isn't exclusively for miner benefit. +# '''lockinontimeout''' should be set to true for any softfork that is expected or found to have political opposition from a non-negligable percent of miners. (It can be set after the initial deployment, but cannot be cleared once set.) A later deployment using the same bit is possible as long as the start is after the previous one's timeout or activation, but it is discouraged until necessary, and even then recommended to have a pause in between to detect buggy software. @@ -57,7 +57,8 @@ With each block and soft fork, we associate a deployment state. The possible sta # '''STARTED''' for blocks at or beyond the start height. # '''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. # '''ACTIVE''' for all blocks after the LOCKED_IN retarget period. -# '''FAILED''' for all blocks after the timeout, if LOCKED_IN was not reached and '''lockinontimeout''' is false. +# '''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. ===Bit flags=== @@ -107,17 +108,17 @@ We remain in the initial state until either we pass the start height or the time case DEFINED: if (block.height >= timeout) { - return (lockinontimeout == true) ? LOCKED_IN : FAILED; + return (lockinontimeout == true) ? LOCKED_IN : FAILING; } if (block.height >= start) { return STARTED; } return DEFINED; -After a period in the STARTED state, if we're past the timeout, we switch to LOCKED_IN or FAILED. If not, we tally the bits set, +After a period in the STARTED state, if we're past the timeout, we switch to LOCKED_IN or FAILING. If not, 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). -The transition to FAILED takes precendence, as otherwise an ambiguity can arise. +The transition to FAILING takes precendence, as otherwise an ambiguity can arise. There could be two non-overlapping deployments on the same bit, where the first one transitions to LOCKED_IN while the other one simultaneously transitions to STARTED, which would mean both would demand setting the bit. @@ -125,7 +126,7 @@ Note that a block's state never depends on its own nVersion; only on that of its case STARTED: if (block.height >= timeout) { - return (lockinontimeout == true) ? LOCKED_IN : FAILED; + return (lockinontimeout == true) ? LOCKED_IN : FAILING; } int count = 0; walk = block; @@ -140,6 +141,19 @@ Note that a block's state never depends on its own nVersion; only on that of its } 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. + + 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; + After a retarget period of LOCKED_IN, we automatically transition to ACTIVE. case LOCKED_IN: @@ -180,6 +194,7 @@ https://github.com/bitcoin/bitcoin/compare/master...shaolinfry:bip-uaversionbits * The '''lockinontimeout''' flag is added. BIP 9 would only transition to the FAILED state when timeout was reached. * 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.png b/bip-0008/states.png index de9450188513aadf047a8a573bb166cab12b59a3..f4acde197f253fd120fa0d193e1599e94e806a20 100644 GIT binary patch literal 27151 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 +