From e4e2b7ccd10af0ad0fdab6358461567326ee21e8 Mon Sep 17 00:00:00 2001 From: Salvatore Ingala <6681844+bigspider@users.noreply.github.com> Date: Sun, 22 Jun 2025 20:27:23 +0200 Subject: [PATCH] 443: add paragraph on fee management --- bip-0443.mediawiki | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bip-0443.mediawiki b/bip-0443.mediawiki index 5acffdf8..4aaca42f 100644 --- a/bip-0443.mediawiki +++ b/bip-0443.mediawiki @@ -129,6 +129,18 @@ Note that the ''deduct'' semantic does not allow to check the exact amount of it a scheme similar to figure 3 or 4 above, amounts should be constrained either with a signature, or with future introspection opcodes that allow fixing the amount. In lack of that, amounts would be malleable. +=== Paying fees === + +Since the amount-checking semantics of OP_CHECKCONTRACTVERIFY are designed to preserve the entire input +amount across one or more outputs, transaction fees must be paid exogenously. This can be achieved by adding an extra +input to the transaction, by using an anchor output, or with other future mechanisms. + +The ''ignore'' amount mode is not a safe mechanism for paying endogenous fees. An output checked with this mode has no +amount constraint, which would allow a miner to claim the entire value of that input. This mode is included for forward +compatibility with potential future soft forks that may introduce other amount-related logic that is compatible with +OP_CHECKCONTRACTVERIFY's script checks. + + == Specification == The tapscript opcode OP_SUCCESS187 (0xbb) is constrained with new rules to implement