[ad_1]
TL;DR: Due to the two asymmetric sets of rules for replacement, a total of five transactions is sufficient to make a cycle of replacements that beat each other in turn. This allows an attacker to rebroadcast the same transactions over and over while at most paying for one small transaction per block.
You have two confirmed UTXOs C1
and C2
. Letโs say 20โฏs/vB is the bottom of the first block.
- You create a large low-feerate transaction
tx_LL
with 100,000โฏvB at 1โฏs/vB (fee: 100,000 s). It spends the confirmed outputC1
and has an outputtx_LL:0
. - You attach a small low-feerate transaction
tx_LS
as a child with 100 vB at 1 s/vB (fee: 100 s) by spendingtx_LL:0
.
- You RBF
tx_LS
with a high-feerate transaction that spendsC2
andtx_LL:0
in a new transactiontx_HS
.tx_HS
has 5000 vB and pays 21 s/vB, but since it spends an output from a low-feerate parent, its mining score is only 1.95โฏs/vB.
- You RBF
tx_LL
andtx_HS
withtx_LM
that has 100,000 vB and pays 3.05โฏs/vB (fee: 305,000 s) by spending the outputsC1
andC2
. This is permitted, since onlytx_LL
is a direct conflict, so the feerate oftx_HS
does not have to be beat directly.
- You use the new RBFr rules to replace
tx_LM
with a small high feerate transactiontx_RBFr
with 100โฏvB paying 20โฏs/vB (fee: 2000 s) that spendsC2
and makes it into the top block of the mempool.tx_LM
was not going to be in the next block, andtx_RBFr
pays more than 1.25ร the feerate oftx_LM
. So this is permitted under the new rules.
- You then rebroadcast
tx_LL
andtx_LS
becauseC1
is no longer being spent.
- You immediately replace both
tx_LS
andtx_RBFr
withtx_HS
.tx_HS
has a feerate of 21โฏs/vB which is higher thantx_RBFr
(20โฏs/vB) andtx_LS
(1โฏs/vB), and pays more absolute fees than both (105,000โฏs vs 2000โฏs + 100 s). But since itโs a child oftx_LL
it only has a mining score of 1.95โฏs/vB.
Repeat 4.โ7. to make every node on the network cycle the same five transactions ad nauseam. Roll the locktimes or sequences to make the transaction have a new TXIDs in each iteration, while spending the same UTXOs. The only transaction that is ever in any danger of getting mined is tx_RBFr
which costs you 2000โฏs. If it it does get included in a block, just start over with a new confirmed UTXO as your c2'
.
[ad_2]
Source link
Leave a Reply