diff --git a/bip-median-past-timelock.mediawiki b/bip-0113.mediawiki similarity index 67% rename from bip-median-past-timelock.mediawiki rename to bip-0113.mediawiki index 3d3e7db0..b7313e30 100644 --- a/bip-median-past-timelock.mediawiki +++ b/bip-0113.mediawiki @@ -1,5 +1,5 @@
- BIP: XX + BIP: 113 Title: Median time-past as endpoint for lock-time calculations Author: Thomas KerinMark Friedenbach @@ -35,7 +35,7 @@ miners to claim more transaction fees by lying about the timestamps of their block. This proposal seeks to ensure reliable behaviour in locktime calculations as -required by BIP65, BIP68, and BIPXX (OP_CHECKSEQUENCEVERIFY). +required by BIP65 (CHECKLOCKTIMEVERIFY), BIP68, and BIP112 (CHECKSEQUENCEVERIFY). ==Specification== @@ -72,16 +72,33 @@ https://github.com/maaku/bitcoin/tree/medianpasttimelock ==Deployment== -We reuse the double-threshold switchover mechanism from BIPs 34 and 66, with the -same thresholds, but for block.nVersion = 4. The new rules are in effect for -every block (at height H) with nVersion = 4 and at least 750 out of 1000 blocks -preceding it (with heights H-1000...H-1) also have nVersion = 4. Furthermore, -when 950 out of the 1000 blocks preceding a block do have nVersion = 4, -nVersion = 3 blocks become invalid, and all further blocks enforce the new rules. +We reuse the double-threshold switchover mechanism from BIPs 34 and +66, with the same thresholds, but for nVersion = 8. The new rules are +in effect for every block (at height H) with nVersion = 8 and at least +750 out of 1000 blocks preceding it (with heights H-1000..H-1) also +have nVersion = 8. Furthermore, when 950 out of the 1000 blocks +preceding a block do have nVersion = 8, nVersion = 3 blocks become +invalid, and all further blocks enforce the new rules. + +When assessing the block version as mask of ~0x20000007 must be applied +to work around the complications caused by +[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010396.html BIP101's premature use] +of the [https://gist.github.com/sipa/bf69659f43e763540550 undecided version bits proposal]. + +By applying ~0x20000007 with nVersion = 8, the thresholds should be tested +comparing block nVersion >= 4 as this will save a bit for future use. It is recommended that this soft-fork deployment trigger include other related -proposals for improving Bitcoin's lock-time capabilities, such as BIP 65, BIP68 -and CHECKSEQUENCEVERIFY. +proposals for improving Bitcoin's lock-time capabilities, including: + +[https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki BIP 65]: +CHECKLOCKTIMEVERIFY, + +[https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki BIP 68]: +Consensus-enforced transaction replacement signalled via sequence numbers, + +and [https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki BIP 112]: +CHECKSEQUENCEVERIFY. ==Acknowledgements== @@ -89,6 +106,9 @@ and CHECKSEQUENCEVERIFY. Mark Friedenbach for designing and authoring the reference implementation of this BIP. +Thanks go to Gregory Maxwell who came up with the original idea, +in #bitcoin-wizards on 2013-07-16. + Thomas Kerin authored this BIP document. @@ -105,7 +125,11 @@ concerns with existing protocols. [https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki BIP68: Consensus-enforced transaction replacement signaled via sequence numbers] -[https://github.com/bitcoin/bips/blob/master/bip-00.mediawiki BIPXX: CHECKSEQUENCEVERIFY] +[https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki BIP112: CHECKSEQUENCEVERIFY] + +[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010396.html Softfork deployment considerations] + +[https://gist.github.com/sipa/bf69659f43e763540550 Version bits] ==Copyright==