Author: Jeremy 2022-01-13 01:45:30
Published on: 2022-01-13T01:45:30+00:00
Jeremy Rubin, a Bitcoin developer, proposed the addition of two new small transaction introspection opcodes - OP_PUSH_KEY_INTERNAL or OP_PUSH_KEY_EXTERNAL - that can return the taproot key for the current input. The internal key can be included in the tree already, but the external key creates a hash cycle and is not possible to include directly. Rubin suggested that these opcodes could simplify APO to use future plans for more generalized covenant, such as TLUV, which might benefit from being able to get the current key off the stack. The internal key might be useful for signing in a path not just for APO, but also because you might want to sign a transaction that is contingent on a HTLC scriptcode being satisfied. However, there is a small incompatibility with BIP-118 with this approach, which is that keys are not tagged for APO-enablement. Thus, there should either be a version of this opcode for APO tagged or not, or, APO should instead define some CheckSig2 which has APO if tagging is still desired.
Updated on: 2023-06-15T15:13:09.179176+00:00