On mempool policy consistency



Summary:

In a discussion on the bitcoin-dev mailing list, Anthony Towns brought up the claim made by Antoine that opt-in RBF (replace-by-fee) isn't enough to avoid a DoS (denial-of-service) issue when UTXOs (unspent transaction outputs) are jointly funded by untrusting partners. Antoine presented a scenario where A, B, and C create a transaction with inputs A1, B1, and C1, and all of them opt-in to RBF. However, just before publishing the transaction, A spams the network with an alternative transaction double-spending her input A1, but without opting in to RBF. If A gets the timing right, this can cause problems for B and C as they have already populated their mempool with the first transaction, while everyone else sees the second one instead. However, Suhas argues that this is not a real example of a DoS vector that is available because non-RBF signaling transactions are supported. Even if all transactions were replaceable, A could still double-spend their input in a way that is annoying for B and C. Suhas finds the example unconvincing and asks if there are any other examples where having a non-replacement policy for some transactions causes problems for protocols people are trying to build.


Updated on: 2023-05-22T22:09:29.414308+00:00