Continuing the discussion about noinput / anyprevout



Summary:

In a discussion about the potential misuse of noinput, Chris Stewart argues that custom wallet designers/developers should be well-versed in the issues they might encounter when implementing their wallet with security considerations being of utmost importance. He believes that the lazy wallet designer advantage is not enough to justify the downsides of chaperone signatures and that there are simpler ways to cut corners. Stewart also points out that offchain protocols shouldn't rely on "good-will" for their counter parties for security and questions whether the signature being on-chain really matters because it must be given to the counterparty regardless. He acknowledges that lazy wallet design can be a compelling reason to fix footguns in the bitcoin protocol, as shown by the Mt Gox fiasco, which was allegedly a product of lazy wallet design. However, he notes that the transaction malleability issue and the introduction of a new sighash flag are fundamentally different, with the former requiring active measures to guard against while the latter requires developers to actively add support for it. Stewart thinks that you have to have a very compelling reason to opt into supporting noinput, usually because you want to support a more complex protocol such as an off-chain contract anyway, at which point you should know about the tradeoffs of various sighash flags. Finally, he agrees that commonly used sighash flags should be made as useable and safe as possible but believes it's unrealistic to have a developer who can implement a complex off-chain system, but fails to understand the importance of using the correct sighash flags in their wallet.


Updated on: 2023-06-02T20:33:37.181704+00:00