Wednesday, August 6, 2025
HomeBitcoinmempool - What's the downside with the current "One-Shot Substitute-by-Payment-Price" Proposal?

mempool – What’s the downside with the current “One-Shot Substitute-by-Payment-Price” Proposal?


TL;DR: Because of the two uneven units of guidelines for alternative, a complete of 5 transactions is ample to make a cycle of replacements that beat one another in flip. This enables an attacker to rebroadcast the identical transactions time and again whereas at most paying for one small transaction per block.


In all the graphics an arrow factors from baby to mother or father, whereas a dotted line with a socket and ball factors from authentic to alternative with socket and ball along with the alternative. A socket with out ball (see Step 4) signifies an oblique battle with the socket on the aspect of the alternative.

You have got three confirmed UTXOs c1, c2 and c3. Let’s say 20 s/vB is the underside of the primary block.

  1. You create tx_LL, a big low-feerate transaction with 100,000 vB at 1 s/vB (price: 100,000 s). It spends the confirmed output c1 and has an output tx_LL:0.
  2. You connect a small low-feerate transaction tx_LS as a baby with 100 vB at 1 s/vB (price: 100 s) by spending tx_LL:0.

RBFr LL_LS.png

  1. You exchange tx_LS with tx_HS a high-feerate transaction that spends c2 and tx_LL:0. tx_HS has 5000 vB and pays 21 s/vB, however because it spends an output of a low-feerate mother or father, its mining rating is only one.95 s/vB.

RBFr LL_HS.png

  1. You exchange tx_LL with tx_LM that has 100,000 vB and pays 3.05 s/vB (price: 305,000 s) by spending the outputs c1 and c3. tx_LM additionally not directly replaces tx_HS even whereas tx_HS has a better particular person feerate. That is permitted, since tx_LM pays a better complete price than the changed transactions and since it solely conflicts instantly with tx_LL it solely has to beat the feerate of tx_LL however not the feerate of tx_HS.

RBFr LM.png

  1. You employ the brand new RBFr guidelines to switch tx_LM with a small excessive feerate transaction tx_RBFr with 200 vB paying 20 s/vB (price: 4000 s) that spends c3 and makes it into the highest block of the mempool. tx_LM was not going to be within the subsequent block, and tx_RBFr pays greater than 1.25× the feerate of tx_LM. So that is permitted underneath the brand new guidelines.

RBFr RBFr.png

  1. As no transaction within the mempool spends c1, you then rebroadcast tx_LL and tx_LS.

RBFr rebroadcast LL_LS.png

  1. You instantly exchange each tx_LS and tx_RBFr with tx_HS. tx_HS has a feerate of 21 s/vB which is increased than tx_RBFr (20 s/vB) and tx_LS (1 s/vB), and pays extra absolute charges than each (105,000 s vs 2000 s + 100 s). However because it’s a baby of tx_LL it solely has a mining rating of 1.95 s/vB.

RBFr HS.png

Repeat 4.–7. to make each node on the community cycle the identical 5 transactions advert nauseam. Roll the locktimes or sequences to make the transaction have a brand new TXIDs in every iteration, whereas spending the identical UTXOs. The one transaction that’s ever in any hazard of getting mined is tx_RBFr which prices you 4000 sats. If it it does get included in a block, simply begin over with two new confirmed UTXOs as your c2' and c3'.

RELATED ARTICLES

Most Popular

Recent Comments