diff --git a/bip-0110.mediawiki b/bip-0110.mediawiki index 61473619..542cbf43 100644 --- a/bip-0110.mediawiki +++ b/bip-0110.mediawiki @@ -24,7 +24,7 @@ Blocks during a temporary, one-year deployment are checked with these additional # New output scriptPubKeys exceeding 34 bytes are invalid, unless the first opcode is OP_RETURN, in which case up to 83 bytes are valid. # OP_PUSHDATA* payloads and [[#script-argument-witness-items|script argument witness items]] exceeding 256 bytes are invalid, except for the redeemScript push in BIP16 scriptSigs. -# Spending undefined witness (or Tapleaf) versions (ie, not Witness v0/BIP 141, Taproot/BIP 341, or P2A) is invalid. (Creating outputs with undefined witness versions is still valid.) +# Spending undefined witness (or Tapleaf) versions (ie, anything not listed under [[#defined-witness-versions|Defined witness versions]] below) is invalid. (Creating outputs with undefined witness versions is still valid.) # Witness stacks with a Taproot annex are invalid. # Taproot control blocks larger than 257 bytes (a merkle tree with 128 script leaves) are invalid. # Tapscripts including OP_SUCCESS* opcodes anywhere (even unexecuted) are invalid. @@ -37,6 +37,15 @@ This grandfathering ensures that no existing coins can be frozen or rendered uns The new rules apply only to UTXOs created at or after the activation height. Once the softfork expires, UTXOs of all heights are once again unrestricted. + +===Defined witness versions=== + +For the purposes of rule 3, these are the witness versions (and the one Tapleaf version) that are defined as of this BIP: + +* '''Witness v0''' with a 20-byte program (P2WPKH) or a 32-byte program (P2WSH), as defined in [[bip-0141.mediawiki|BIP 141]]. Other v0 program lengths are already invalid under BIP 141 itself. +* '''Witness v1''' with a 32-byte program (Taproot/P2TR), as defined in [[bip-0341.mediawiki|BIP 341]]. In a script path spend, the only defined Tapleaf version is 0xc0 (Tapscript), as defined in [[bip-0342.mediawiki|BIP 342]]. +* '''Witness v1''' with the 2-byte program 0x4e73 (P2A), and only when spent with an empty witness stack, as defined in [[bip-0433.mediawiki#specification|BIP 433]]. + ===GetBlockTemplate=== This deployment uses the GBT deployment name "reduced_data" as defined in [[bip-0009.mediawiki#getblocktemplate_changes|BIP 9]]. During mandatory signaling, the deployment's bit is included in "vbrequired".