BIP70: PaymentACK semantics



Summary:

In an email conversation between Gavin Andresen and Mike Hearn, the topic of broadcasting transactions is discussed. If a wallet software is doing automatic CoinJoin, then one or several of the other participants will broadcast the transaction as soon as it is complete. Broadcasting the transaction as soon as the inputs are signed adds implementation complexity. In addition, users don't have infinite unspent txouts in their wallets, so if they need to make two payments in a row and run out, their wallet software will spend the change txout and either be forced to broadcast both transactions anyway, or the second recipient will do so on their behalf. The goal is payment atomicity where the customer losing control of the funds must be atomic with respect to the payment going through. It's unfortunate that the Payment message contains refund_to, memo, etc., as that information should have been provided to the merchant prior to them providing the list of addresses to pay.


Updated on: 2023-06-08T00:53:29.693287+00:00