Bitcoin Stack Change is a query and reply web site for Bitcoin customers, builders, and fans. It solely takes a minute to enroll.
Anyone can ask a query
Anyone can reply
The most effective solutions are voted up and rise to the highest
Requested
Seen
22 instances
RBF (Full RBF, Decide-in Full RBF, FSS-RBF) is utilized to a transaction when certainly one of its inputs “matches” one of many inputs within the substitute transaction.
Nonetheless, what occurs if the inputs of a substitute transaction “hit” the inputs of two (three or extra) completely different transactions?
-
Does the substitute transaction then exchange all these “hit” transactions (transactions coated by substitute)?
-
To ensure that substitute to happen, does the price of substitute transaction should be better than the biggest price amongst all “coated” transactions, or maybe the price of substitute transaction have to be better than the sum of the charges of all “coated” transactions (or one thing else)?
-
What would occur if the node works in Decide-in Full RBF mode and a number of the transactions “included” in substitute don’t settle for the opportunity of substitute (nSequence of all inputs is
0xffffffff
)? I assume that the substitute then is not going to even happen and the substitute transaction will likely be simply rejected.
For a substitute to be accepted into the mempool, it has to enhance the mempool for miners. Subsequently, it has to pay extra charges than all of the ousted transactions, moreover should pay for its personal relay, and eventually can not oust too many transactions without delay. Particularly:
- If the node works in Decide-in Full RBF mode, the immediately conflicting transactions should all sign replaceability, in any other case the substitute try fails.
- The substitute transaction should pay a minimum of as a lot charges as all changed transactions (together with the descendants of the immediately conflicting transactions!) plus its personal vsize instances the node’s incremental relay feerate.
- The substitute transaction doesn’t spend any new unconfirmed inputs that weren’t already spent by one of many immediately conflicting transactions.
- The substitute transaction should pay a better feerate than every immediately conflicting transaction
- The sum of the conflicting transactions’ descendant counts doesn’t exceed 100.
You may learn extra about this matter for instance within the coverage documentation for Mempool Replacements for Bitcoin Core, and in glozow’s gist amassing her ideas on RBF Enhancements.
This reply omits FSS RBF, as a result of I’m not conscious of any nodes implementing that coverage on the community.