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