Merge pull request #2336 from fametrano/bip322-taproot-upgradeable

BIP-0322: name taproot upgrade mechanisms in the upgradeable rules
This commit is contained in:
Jon Atack authored and GitHub committed 2026-10-23 14:49:47 -06:00
commit 1fec65e55b
1 file changed
+5 -2
+5 -2
View File
@@ -15,8 +15,8 @@
2024-05-04: https://groups.google.com/g/bitcoindev/c/RCi1Exs0ZvQ/m/vp6Xo36aBwAJ
2025-05-10: https://bitcoin.stackexchange.com/questions/126277/where-can-i-use-bip322-to-sign-a-message-to-verify-a-multisig-address
2026-04-20: https://groups.google.com/g/bitcoindev/c/qd6BNz9gxCk/m/k1fHq4RKAQAJ
Version: 2.0.0
Requires: 174, 340, 341
Version: 2.1.0
Requires: 174, 340, 341, 342
</pre>
== Abstract ==
@@ -261,6 +261,7 @@ Validation consists of the following steps:
## The version of <code>to_sign</code> must be 0 or 2.
## The use of NOPs reserved for upgrades is forbidden.
## The use of Segwit versions greater than 1 is forbidden.
## The use of the taproot upgrade mechanisms is forbidden: an unknown leaf version and the annex ([[bip-0341.mediawiki|BIP341]]), <code>OP_SUCCESSx</code> and an unknown public key type ([[bip-0342.mediawiki|BIP342]]).
## If any of the above steps failed, the validator should stop and output the ''inconclusive'' state.
# Let ''T'' be the nLockTime of <code>to_sign</code> and ''S'' be the nSequence of the first input of <code>to_sign</code>. Output the state ''valid at time T and age S''.
## For ''full Proof of Funds'' signatures, a validator MAY additionally report any non-zero nSequence values on the Proof of Funds inputs (i.e., <code>vin[1..n]</code>), and MAY verify them against the current chain state when the UTXO set is available; such checks are advisory and do not affect the output state.
@@ -491,6 +492,8 @@ and many others for their feedback on the specification.
== Changelog ==
* '''2.1.0''' (2026-10-23):
** Add the taproot upgrade mechanisms (unknown leaf version, annex, <code>OP_SUCCESSx</code>, unknown public key type) to the upgradeable rules, so that they give the ''inconclusive'' state.
* '''2.0.0''' (2026-06-04):
** Clarify that the message_challenge is ''not'' optional for "Proof of Funds".
* '''1.0.0''' (2026-04-15):