summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Dashjr <luke-jr+git@utopios.org>2021-02-26 19:49:50 +0000
committerLuke Dashjr <luke-jr+git@utopios.org>2021-02-26 19:49:50 +0000
commit48b3896e6e63e5a429999b9f881396d43634fd12 (patch)
tree86a16d65247b7dcf4ee1bde85ce68b3830535f2c
parent82000f65c1985a708730209288a8632b7d37e02b (diff)
parent6ea5857b62d37724b1ea6947e0dc847afbc1b644 (diff)
downloadbips-48b3896e6e63e5a429999b9f881396d43634fd12.tar.xz
Merge branch 'bip8_threshold'
-rw-r--r--bip-0008.mediawiki4
1 files changed, 3 insertions, 1 deletions
diff --git a/bip-0008.mediawiki b/bip-0008.mediawiki
index b93b411..7b61eaa 100644
--- a/bip-0008.mediawiki
+++ b/bip-0008.mediawiki
@@ -38,6 +38,7 @@ Each soft fork deployment is specified by the following per-chain parameters (fu
# 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 considered failed on all descendants of the block.
+# The '''threshold''' specifies the minimum number of block per retarget period which indicate lock-in of the soft fork during the subsequent period.
# 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===
@@ -48,6 +49,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. The bit chosen should not overlap with active usage (legitimately or otherwise) for other purposes.
# '''startheight''' should be set to some block height in the future when a majority of economic activity is expected to have upgraded to a software release including the activation parameters. Some allowance should be made for potential release delays. It should be rounded up to the next height which begins a retarget period for simplicity.
# '''timeoutheight''' should be set to a block height when it is considered reasonable to expect the entire economy to have upgraded by, probably at least 1 year, or 52416 blocks (26 retarget intervals) after '''startheight'''.
+# '''threshold''' should be 1815 blocks (90% of 2016), or 1512 (75%) for testnet.
# '''lockinontimeout''' should be set to true for any softfork that is expected or found to have political opposition from a non-negligible 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 startheight is after the previous one's
@@ -122,7 +124,7 @@ 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).
+version numbers.
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.