Bob-Pays-For-Transaction

Bob-Pays-For-Transaction
From: Prayank @ 2022-01-21 23:45 UTC ( / )
  To: Bitcoin Dev



I have rephrased things discussed in a [tweet thread][1] in 2020, added a few things and interested to know possible issues if we had an opt in policy based on CPFP in which recipients pay fees for transactions instead of senders or most of the wallets followed this:

## Bob-Pays-For-Transaction

==Motivation==

CPFP is less explored, payjoin did not get enough adoption, fee market can be improved,
recipients paying fees for the transactions sounds interesting and it can also be used
in projects that use market making (maker-taker model).

1.Recipient cares about the urgency and the security of the payment in lot of transactions.
2.It might affect fee market post subsidy era and resolve issues with miners revenue, security etc.

===Receiving wallet===

Provide easy options to use CPFP and pay fees that confirms the parent transaction.

[CPFP calculator][1] by djbooth07 or effective fee rate shown in explorers like https://mempool.space can be helpful.

===Spending wallet===

Broadcast all transactions with 1 sat/vB

==Issues==

Few issues shared by Sergej Kotliar:

1.Receiver can pay via CPFP, but if that’s known about them it gets exploitable, senders will consolidate lot of UTXOs by sending one output to receiver.
2.Receivers would send their unconfirmed coins onward expecting others to pay the fees until someone considers the transaction important enough to be confirmed soon.

Bitcoin Core does not allow you to spend [unconfirmed UTXO using GUI][2] and most of the RPC in CLI. However Kristaps made an interesting point in the linked issue that it could be allowed for transactions
 that do not signal RBF. It is not considered safe however lot of wallets allow this including Wasabi
in which I recently found [some UI/UX issues][3] related to unconfirmed UTXO.

The part which may require changes in protocol:

The whole fee paid for such transactions wouldn't be paid to the miner confirming the transaction but
it would be shared between the miners creating next N blocks.

  [1]: https://twitter.com/LaurentMT/status/1292100590462537733
  [2]: https://github.com/djbooth007/cpfp-calculator
  [3]: https://github.com/zkSNACKs/WalletWasabi/issues/7045
  [4]: https://github.com/bitcoin-core/gui/issues/242


-- 
Prayank

A3B1 E430 2298 178F