Author: Christian Decker 2018-09-03 13:53:33
Published on: 2018-09-03T13:53:33+00:00
In this conversation between Johnson Lau and Christian Decker, they discuss the NOINPUT opcode and its use with scriptCode and scriptPubKey in segwit outputs. They consider whether there is a useful case for using NOINPUT with scriptCode and/or scriptPubKey committed. One proposal is to sign the type of scriptPubKey in every case, including NOINPUT, but it is unclear what advantage this would provide. The option is compatible with eltoo and easy to implement, however. Option A, which involves signing the scriptPubKey in every case except NOINPUT, is more complicated as GenericTransactionSignatureChecker would need to know the scriptPubKey. This option would be useful when a hardware wallet reuses the same public key in different scripts, but it could not be applied to NOINPUT. They also discuss the proposed DUALOUTPUT and its usefulness for eltoo. Eltoo uses NOINPUT|SINGLE to allow fee pumping, since it is a one-input-one-output transaction. However, this is not possible with the existing Lightning Network (LN) as it is a one-input-two-output transaction. If they had DUALOUTPUT which signs the matched and last output, fee-pumping would be possible in the existing LN. However, DUALOUTPUT relies on the structure of the commitment and may be a brittle fix or require major restructuring of LN once HTLCs are included in the commitment.
Updated on: 2023-06-13T03:02:18.224172+00:00