Skip to content

Commit

Permalink
Merge pull request bitcoin#1104 from ajtowns/202103-bip341-speedy-tri…
Browse files Browse the repository at this point in the history
…al-mtp

BIP341: speedy trial activation parameters
  • Loading branch information
luke-jr committed Apr 25, 2021
2 parents b966bd3 + 93d1b15 commit 40b10c8
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 1 deletion.
38 changes: 37 additions & 1 deletion bip-0341.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,43 @@ The test vectors used in the [https://github.com/bitcoin/bitcoin/blob/3820090bd6

== Deployment ==

TODO
This BIP is deployed concurrently with [[bip-0342.mediawiki|BIP342]].

For Bitcoin signet, these BIPs are always active.

For Bitcoin mainnet and testnet3, these BIPs will be deployed by "version bits" with the name "taproot" and bit 2, using [[bip-0009.mediawiki|BIP9]] modified to use a lower threshold, with an additional ''min_activation_height'' parameter and replacing the state transition logic for the DEFINED, STARTED and LOCKED_IN states as follows:

case DEFINED:
if (GetMedianTimePast(block.parent) >= starttime) {
return STARTED;
}
return DEFINED;
case STARTED:
int count = 0;
walk = block;
for (i = 0; i < 2016; i++) {
walk = walk.parent;
if ((walk.nVersion & 0xE0000000) == 0x20000000 && ((walk.nVersion >> bit) & 1) == 1) {
count++;
}
}
if (count >= threshold) {
return LOCKED_IN;
} else if (GetMedianTimePast(block.parent) >= timeout) {
return FAILED;
}
return STARTED;
case LOCKED_IN:
if (block.nHeight < min_activation_height) {
return LOCKED_IN;
}
return ACTIVE;
For Bitcoin mainnet, the starttime is epoch timestamp 1619222400 (midnight 24 April 2021 UTC), timeout is epoch timestamp 1628640000 (midnight 11 August 2021 UTC), the threshold is 1815 blocks (90%) instead of 1916 blocks (95%), and the min_activation_height is block 709632 (expected approximately 12 November 2021).

For Bitcoin testnet3, the starttime is epoch timestamp 1619222400 (midnight 24 April 2021 UTC), timeout is epoch timestamp 1628640000 (midnight 11 August 2021 UTC), the threshold is 1512 blocks (75%), and the min_activation_height is block 0.

== Backwards compatibility ==
As a soft fork, older software will continue to operate without modification.
Expand Down
4 changes: 4 additions & 0 deletions bip-0342.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ In addition to changing the semantics of a number of opcodes, there are also som

<references />

==Deployment==

This proposal is deployed identically to Taproot ([[bip-0341.mediawiki|BIP341]]).

==Examples==

The Taproot ([[bip-0341.mediawiki|BIP341]]) test vectors also contain examples for Tapscript execution.
Expand Down

0 comments on commit 40b10c8

Please sign in to comment.