From 014b832e07d3be3c6aff1230d560fcf7032f0495 Mon Sep 17 00:00:00 2001 From: James O'Beirne Date: Fri, 29 Sep 2023 09:17:32 -0400 Subject: BIP-345: add sigops cost of 60 --- bip-0345.mediawiki | 1 + 1 file changed, 1 insertion(+) diff --git a/bip-0345.mediawiki b/bip-0345.mediawiki index 87e084c..e63e0a2 100644 --- a/bip-0345.mediawiki +++ b/bip-0345.mediawiki @@ -266,6 +266,7 @@ where After the stack is parsed, the following validation checks are performed: +* Decrement the per-script sigops budget (see [https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki#user-content-Resource_limits BIP-0342]) by 60'''Why is the sigops cost for OP_VAULT set to 60?''' To determine the validity of a trigger output, OP_VAULT must perform an EC multiplication and hashing proportional to the length of the control block in order to generate the output's expected TapTweak. This has been measured to have a cost in the worst case (max length control block) of roughly twice a Schnorr verification. Because the hashing cost could be mitigated by caching midstate, the cost is 60 and not 100.; if the budget is brought below zero, script execution MUST fail and terminate immediately. * Let the output designated by be called ''triggerOut''. * If the scriptPubKey of ''triggerOut'' is not a witness program of the same version and same tapleaf version as the currently executing script, script execution MUST fail and terminate immediately. * Let the script constructed by taking the and prefixing it with minimally-encoded data pushes of the leaf-update script data items be called the ''leaf-update-script''. -- cgit v1.2.3