BIP sighash_noinput



Summary:

Christian Decker has proposed a new sighash flag, SIGHASH_NOINPUT, which removes the commitment to the previous output. The proposal is minimalistic and simple, but extra care should be taken to avoid rebinding by including an extra input in T2 that doesn't use SIGHASH_NOINPUT. By not committing to the previous output being spent by the transaction, we can rebind an input to point to any outpoint with a matching output script and value. The binding is no longer explicit through a reference, but through script compatibility, and the transaction ID reference in the input is a hint to validators. The sighash flag is meant to enable some off-chain use-cases and should not be used unless the tradeoffs are well-known. The proposal is very interesting and it is believed that there are many more applications that can be enabled with this change. It is hoped that the proposal will be well received, and variants and tradeoffs can be discussed within the community. Existing wallets will not sign things with unknown flags, so there is no risk of confusion with existing wallets despite the fact that some feel that the sighash flag could lead to some confusion.


Updated on: 2023-05-25T00:26:35.687029+00:00