mirror of
https://github.com/bitcoin/bips.git
synced 2026-08-24 18:47:19 +00:00
BIP-110: Add Defined witness versions subsection clarifying the rule 3 P2A exemption
This commit is contained in:
@@ -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.
|
||||
|
||||
<span id="defined-witness-versions"></span>
|
||||
===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".
|
||||
|
||||
Reference in New Issue
Block a user