Let's say I broadcast a transation tx0 signaling RBF replaceability. Later on, I realize it has a small amount of fees, so I send another transaction tx1 that spends the same inputs than tx0, but this time with higher fees.

Which is the default bitcoind/bitcoin-qt behaviour regarding the relaying of tx1? Would all nodes broadcast the new version of the transaction or does the relay policy depend on the mempoolreplacement parameter? Do any special rules apply to the relaying of the replacement transaction?

I have seen that Peter Todd's RBF proposal included a NODE_REPLACE_BY_FEE service bit. Is anything like this included in the current version?

  1. Nodes will only relay if mempoolreplacement hasn't set to false (most nodes probably do relay because the default is true).

  2. There are serval rules for accepting a replacement after BIP125 (check the BIP for more details). In general: The replacement must pay greater fees than the transactions it replaces - if we did the bandwidth used by those conflicting transactions would not be paid for.

  • Thanks! Regarding 2, as fas as I undestand, the rules mentioned in BIP125 refer to mempool inclusion. Are those the same for transaction relaying? – cpsola Mar 31 '17 at 7:06
  • Yes. Nodes only relay txs that are in its mempool. – Jonas Schnelli Mar 31 '17 at 16:18
  • Great, everything clear now, thanks @jonas-schnelli. – cpsola Apr 1 '17 at 9:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.