BIP sighash_noinput



Summary:

A proposal regarding the use of `SIGHASH_NOINPUT` has been made by ZmnSCPxj which can help in integrating certain protocols with existing wallets. However, whether an existing wallet can sign a transaction with an unknown sighash flag depends on which end of a transaction the wallet is. The proposal suggests that `SIGHASH_NOINPUT` can be used in CoinSwap protocol as it allows implementation of walletless CoinSwap (or other protocols) software. In this approach, public keys are exchanged between the swapping nodes before generating preimage and agreeing on backout transactions. Then, signatures are created using `SIGHASH_NOINPUT`, which do not commit to the txid of the transaction being authorized for spending. The CoinSwap sofwares then turn around to their users and say "okay, send to this address". The users initiate the swap using their normal wallet software until the protocol completes. In case all CoinSwap implementations needed their own wallets, a user would have to withdraw funds from the exchange to a CoinSwap implementation wallet, perform a CoinSwap which goes back to the CoinSwap implementation wallet, followed by sending from the CoinSwap wallet to their cold storage. This approach requires at least 2 extra transactions compared to the walletless CoinSwap approach. However, using `SIGHASH_NOINPUT` is an unusual flag to use, which immediately paints the user as using some special protocol, thus contributing to the obfuscation of the technique.


Updated on: 2023-06-13T01:49:21.672804+00:00