mirror of
https://github.com/bitcoin/bips.git
synced 2026-11-09 19:47:16 +00:00
BIP-0322: name taproot upgrade mechanisms in the upgradeable rules
The upgradeable rules list the to_sign version, NOPs reserved for upgrades and segwit versions above 1. BIP341 and BIP342 also reserve unknown leaf versions, OP_SUCCESSx, unknown public key types and the annex for upgrades. A verifier that follows the BIP322 text calls a signature using any of them valid. Name them, so that these give the inconclusive state like the other upgrade mechanisms. Bump the version to 2.1.0 and add a changelog entry. Add 342 to Requires.
This commit is contained in:
1 file changed
+5
-2
+5
-2
@@ -15,8 +15,8 @@
|
|||||||
2024-05-04: https://groups.google.com/g/bitcoindev/c/RCi1Exs0ZvQ/m/vp6Xo36aBwAJ
|
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
|
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
|
2026-04-20: https://groups.google.com/g/bitcoindev/c/qd6BNz9gxCk/m/k1fHq4RKAQAJ
|
||||||
Version: 2.0.0
|
Version: 2.1.0
|
||||||
Requires: 174, 340, 341
|
Requires: 174, 340, 341, 342
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
== Abstract ==
|
== Abstract ==
|
||||||
@@ -261,6 +261,7 @@ Validation consists of the following steps:
|
|||||||
## The version of <code>to_sign</code> must be 0 or 2.
|
## The version of <code>to_sign</code> must be 0 or 2.
|
||||||
## The use of NOPs reserved for upgrades is forbidden.
|
## The use of NOPs reserved for upgrades is forbidden.
|
||||||
## The use of Segwit versions greater than 1 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.
|
## 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''.
|
# 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.
|
## 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 ==
|
== 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):
|
* '''2.0.0''' (2026-06-04):
|
||||||
** Clarify that the message_challenge is ''not'' optional for "Proof of Funds".
|
** Clarify that the message_challenge is ''not'' optional for "Proof of Funds".
|
||||||
* '''1.0.0''' (2026-04-15):
|
* '''1.0.0''' (2026-04-15):
|
||||||
|
|||||||
Reference in new issue
Block a user