BIP sighash_noinput



Summary:

ZmnSCPxj suggests that `SIGHASH_NOINPUT` can be used to make protocols integrate better with existing wallets. He explains how it can be used in a CoinSwap protocol and how it simplifies the implementation process, making it more likely to be implemented in the first place. With `SIGHASH_NOINPUT`, a walletless CoinSwap software can be implemented, and users can use a trusted wallet implementation (cold storage, hardware wallet, etc. ), reducing the amount of risk. The setup of CoinSwap goes this way - swapping nodes exchange public keys, agree on who gets to move first in the swap and who generates the preimage, and then they agree on what the backout transactions look like and create signatures with `SIGHASH_NOINPUT`. The CoinSwap software then turns around to their users and says "okay, send to this address", the users initiate the swap using their normal wallet software. If CoinSwap implementations required their own wallets, then the 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, and finally send from the CoinSwap wallet to their cold storage. This would require 4 transactions instead of just 1 transaction if a walletless CoinSwap software is used.However, a drawback of SIGHASH_NOINPUT is that it is an unusual flag to use, immediately painting the user as using some special protocol.


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