bitcoin-dev

One-Shot Replace-By-Fee-Rate

One-Shot Replace-By-Fee-Rate

Original Postby Peter Todd

Posted on: January 22, 2024 22:52 UTC

The correspondence highlights an issue with Bitcoin's current replace-by-fee rules, specifically referencing a problem encountered in step 7 of an undefined process.

This step involves the replacement of a high fee-rate transaction, which is likely to be mined promptly, with a transaction that has a lower fee-rate and is less attractive for miners. The discussion points out that this is counter to miner incentives and undermines the general compatibility of replace-by-fee-rate mechanisms which are designed to favor transactions with higher fees.

It appears there was an assumption that such scenarios had been eliminated; however, the rules as defined by BIP-125 Rule 2 have shown to be inadequate. This rule specifies that only unconfirmed inputs from original transactions can be included in a replacement transaction, but it fails to prevent the combination of unconfirmed inputs from different replaced transactions into a single new transaction that might be less appealing to miners than the individual replaced transactions.

A proposed solution to this inefficiency is referenced through a draft fix available at a GitHub pull request (https://github.com/bitcoin/bitcoin/pull/26451). This fix would address the issue by requiring all unconfirmed inputs in a replacement transaction to originate exclusively from the same replaced transaction. Although this change would make some replacements impossible, particularly rare but economically viable ones, it assures resolution of the identified problem.

Furthermore, there is a request for permission to use certain graphics to illustrate the issue more clearly. The author of the email intends to utilize these visuals in various educational materials, including a post about replace-by-fee-rate. For further communication, contact details are provided, pointing to Peter Todd's personal website (https://petertodd.org) and his email address.