mirror of
https://github.com/bitcoin/bips.git
synced 2025-01-18 21:35:13 +01:00
Clarify BIP9 threshold
The threshold for should be ≥2016 for mainnet, ≥1512 for testnet. https://github.com/bitcoin/bitcoin/blob/v0.12.1/src/versionbits.cpp#L69 https://github.com/bitcoin/bitcoin/blob/v0.12.1/src/chainparams.cpp#L84 https://github.com/bitcoin/bitcoin/blob/v0.12.1/src/chainparams.cpp#L177
This commit is contained in:
parent
02d408656f
commit
5e6dc77d6b
@ -109,7 +109,7 @@ referred to as MTP in the diagram above, and is treated as a monotonic clock def
|
||||
|
||||
After a period in the STARTED state, if we're past the timeout, we switch to FAILED. 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 1915 blocks (95% of 2016), or 1512 for testnet (75% of 2016).
|
||||
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.
|
||||
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.
|
||||
@ -202,7 +202,7 @@ A client that does not understand a rule prefixed by '!' must not attempt to pro
|
||||
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.
|
||||
|
||||
'''Modified thresholds'''
|
||||
The 1915 threshold (based on in BIP 34's 95%) does not have to be maintained for eternity, but changes should take the effect on the warning system into account. In particular, having a lock-in threshold that is incompatible with the one used for the warning system may have long-term effects, as the warning system cannot rely on a permanently detectable condition anymore.
|
||||
The 1916 threshold (based on in BIP 34's 95%) does not have to be maintained for eternity, but changes should take the effect on the warning system into account. In particular, having a lock-in threshold that is incompatible with the one used for the warning system may have long-term effects, as the warning system cannot rely on a permanently detectable condition anymore.
|
||||
|
||||
'''Conflicting soft forks'''
|
||||
At some point, two mutually exclusive soft forks may be proposed. The naive way to deal with this is to never create software that implements both, but that is making a bet that at least one side is guaranteed to lose. Better would be to encode "soft fork X cannot be locked-in" as consensus rule for the conflicting soft fork - allowing software that supports both, but can never trigger conflicting changes.
|
||||
|
Loading…
Reference in New Issue
Block a user