Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Free Lunch: Testing free relay with new minimum relay fee rate
by
stwenhao
on 20/08/2025, 12:27:56 UTC
⭐ Merited by vapourminer (1)
Quote
Nodes limit their mempools to 300MB by default, so there's not really a large surface to attack.
Yes. However, that 300 MB is reusable. Which means, that if there is 100 MB of real traffic, and 200 MB of free space, then you can first fill 200 MB with 0.1 sat/vB, and then you can bump it a little, by using full-RBF. Then, if you replace just a single transaction, and everything behind it will be invalidated, just because of changed "txid:vout", then guess what: you have yet another 200 MB to fill it again! Which means, that everything, which was sent before, was basically free, unless some miners will decide to confirm it anyway (which is not done by default).

Previously, the minimal price for 1 MB was 0.01 BTC, when transaction fees were set to 1 sat/vB. Now, when they are set to 0.1 sat/vB, for 0.01 BTC, you can send 10 MB. Which means, that filling the whole mempool should in theory cost something around 0.30 BTC. However, in practice, that cost is lower, because if you bump the first transaction, then all following ones will be invalidated, so you can start filling mempools again, and again, and again, until you reach 1 sat/vB, when more nodes will start getting that traffic, and potentially confirming it on-chain.

Also, that's why I said, that using something else than SIGHASH_ALL can make the attack worse. Because then, you can send something, and then, you can blame random users for adding more inputs and outputs to your transaction, so if someone will call you a spammer, you can say "It's not me, I didn't change my transaction, some random users did it!".