2

It is a common meme in some parts of the Bitcoin sphere that RBF erodes the option of accepting zero confirmation transactions. It would be beneficial if the following questions were answered:

  • What restrictions are placed on RBF in the deployed "opt-in RBF" variant?
  • How does opt-in RBF interact with unconfirmed transactions?
  • What influence does this have on zero confirmation payment processing?
2

What restrictions are placed on RBF in the deployed "opt-in RBF" variant?

Opt-in Replace-by-Fee defines a way to mark transactions as replaceable until they are confirmed in a block. This is done by setting the sequence number smaller than MAX-1. (MAX corresponds to standard final transactions and MAX-1 marks locktimed transactions.) To replace the transaction before it is confirmed, the authoring user may broadcast an update of the transaction (a doublespend!) with a higher fee. This update version may also set the sequence number to a final value, i.e. MAX-1 or MAX, marking it as non-replaceable.

Bitcoin Core v0.12.0 and following versions will allow replacement under the above description, but will not create opt-in RBF transactions by default.

How does opt-in RBF interact with unconfirmed transactions?

  • Final (regular) transactions with a sequence number of MAX-1 or MAX are not affected. Nodes that implement opt-in RBF treat them exactly as before. Doublespends of final transactions are still treated under the first seen paradigm.
  • Non-final (RBF) transactions clearly signal that they should not be accepted before confirmation. However, these are not created by default.

What influence does this have on zero confirmation payment processing?

Users get a new type of transactions that should not be accepted without confirmation. Accepting final transactions without confirmation has exactly the same risks as before the introduction of opt-in RBF.

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.