Skip to content

Commit 1e1795d

Browse files
committed
Replace signing with signature before validation
1 parent 51c2c12 commit 1e1795d

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

bip-tapscript.mediawiki

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ The following rules apply to <code>OP_CHECKSIG</code>, <code>OP_CHECKSIGVERIFY</
8989
** If <code>n</code> is larger than 4 bytes, the script MUST fail and terminate immediately.
9090
* If the public key size is zero, the script MUST fail and terminate immediately.
9191
* If the public key size is 32 bytes, it is considered to be a public key as described in bip-schnorr:
92-
** If the signature is not the empty vector, the signature is validated according to the bip-taproot signing validation rules against the public key and the tapscript transaction digest (to be defined hereinafter) as message. Validation failure MUST cause the script to fail and terminate immediately.
92+
** If the signature is not the empty vector, the signature is validated according to the bip-taproot signature validation rules against the public key and the tapscript transaction digest (to be defined hereinafter) as message. Validation failure MUST cause the script to fail and terminate immediately.
9393
* If the public key size is not zero and not 32 bytes, the public key is of an ''unknown public key type''<ref>'''Unknown public key types''' allow adding new signature validation rules through softforks. A softfork could add actual signature validation which either passes or makes the script fail and terminate immediately. This way, new <code>SIGHASH</code> modes can be added, as well as [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-December/016549.html NOINPUT-tagged public keys] and a public key constant which is replaced by the taproot internal key for signature validation.</ref> and no actual signature verification is applied. During script execution of signature opcodes they behave exactly as known public key types except that signature validation is considered to be successful.
9494
* If the script did not fail and terminate before this step, regardless of the public key type:
9595
** If the signature is the empty vector:

0 commit comments

Comments
 (0)