Author: Johnson Lau 2018-12-13 12:32:44
Published on: 2018-12-13T12:32:44+00:00
NOINPUT is a powerful tool that allows for more smart contract capacity, but comes with the risk of signature replay. Key-pair reuse has been a norm since the creation of Bitcoin, making it difficult to change this behavior. One potential solution is to tag outputs as spendable with NOINPUT, which can be done by setting a certain bit in the tx version or scriptPubKey. ScriptPubKey tagging offers the advantage of being able to tag on a per-output basis, but is only possible with native-segwit. Tx version tagging protects P2SH-segwit and all existing wallets are protected by default, but is somewhat a layer violation and can only tag all or none output in the same tx. An extension to the version tagging involves signing the version of the previous tx, but burns a few more bits in the tx version field. While compatible with eltoo, other proposals requiring NOINPUT may be adversely affected by either way of tagging.
Updated on: 2023-05-20T18:44:42.297509+00:00