bitcoin-dev

Continuing the discussion about noinput / anyprevout

Continuing the discussion about noinput / anyprevout

Original Postby Christian Decker

Posted on: September 30, 2019 13:23 UTC

The email discusses the sighash_noinput proposal (BIP-118) and AJ's bip-anyprevout proposal, both of which allow rebinding of transactions to new outputs by adding a sighash flag that excludes the output when signing.

The proposals are complementary and not competing. There are a couple of unclear points which need to be addressed, including general agreement on the usefulness of the proposals beyond eltoo and whether to merge BIP-118 and bip-anyprevout. The email also discusses various tradeoffs, such as the dangers of sighash_noinput, which may encourage wallet creators to only implement the noinput variant, and the use of chaperone signatures, which ensure there is no third-party malleability of transactions but have downsides such as additional size and the possibility of protocols using a globally known privkey. Output tagging is another proposal that would achieve the same disincentive to use non-smart-contract cases by making the output scripts unaddressable. While this idea hurts fungibility, it could create two domains: one for user-addressable destinations and one domain for contracts. The email concludes with open questions, such as the need for general agreement on the usefulness of the proposals, support or opposition to chaperone signatures and output tagging, and anything else that needs to be addressed.