Replies (27)
Relevant:

Can you explain what these numbers mean? I don’t have context on how much spam was getting through before
The filter I'm gathering data on is called minRelayTxFee -- minimum relay transaction fee. Almost every bitcoin transaction pays fees to miners, and most nodes have a standard filter that checks every transaction sent to its mempool to see if it pays a minimum fee. If not, it refuses to relay that transaction. Thanks to most nodes doing this, there is a mitigation for what would otherwise be a significant DoS vector on bitcoin: without this filter, spammers could cheaply DoS the network by sending out millions of 0-fee transactions.
In the op_return wars, people who oppose spam filters have been arguing for a while now that spam filters "don't work" because some large op_returns bypass the spam filters and get into the blockchain via private mempools, or libre-relay. One of the pro-filter side's responses is that these are exceptional cases; only a small percentage of transactions in the blockchain show any evidence of bypassing the op_return filters, and that helps prove that the filters work.
Recently, the anti-filter crowd has a new argument: spam filters "don't work" because some transactions pay less than the standard minimum feerate; they bypass the minRelayTxFee filter. So I created this website to gather statistics about that, and show that the same counterargument applies: only a small percentage of transactions in the blockchain show any evidence of bypassing the minRelayTxFee filter, and that helps prove that the filters work.
There was a podcast I listened to where the guy argued that the filters are bad because it incentivizes spammers to pay large miners directly which hurts decentralization of miners. By removing the filters, all miners could compete for those fees. What do you think about that position?
The reason the minRelayFee filter works is because there is very little economic incentive to bypass it. It is cheaper to just bump your fee to 1 sat/vbyte. This is not so for larger OP_RETURN txs or other types of non-standard txs.
When spammers pay large miners directly, it does hurt decentralization of miners. And I think that is bad, but I compare that downside with this other downside: when spam is "welcomed" by removing the spam filters, that increases the total amount of spam on the blockchain, and that hurts decentralization of *nodes.* Specifically, it makes nodes harder to sync, and incentivizes more people to avoid doing so.
So either way you get a harm: if spammers pay large miners directly, that hurts decentralization of miners. If, instead, they are welcomed into the public mempool, that amount of spam on the blockchain rises, and that hurts decentralization of nodes. Which harm is worse?
I think the latter is worse, particularly because the *amount* of money actually going to large miners from spammers paying them directly is currently very small. The filters seem to be effective enough that most spammers aren't *trying* to bypass them by paying large miners directly. Instead, they seem to prefer just using other blockchains where spam is more welcome.
Why didn’t anyone use that filter when fees were high?
How does spam hurt decentralization of nodes if there is a blocksize limit?
because downloading the blockchain makes less sense with more garbage in it, regardless of the blocksize limit
Is that a fact or an opinion?
an opinion
In the case of data injection schemes like inscriptions it delays blockchain download significantly despite blocks being of the same size. If you have to download the blockchain from scratch and suddenly it takes you a month to complete it on a low tier hardware, when just 2 years ago it took you less than a week, you have two options in front of you: 1) buy additional RAM to speed up the process; or 2) give up running a node entirely.
This is a fact, not an opinion. Lower end hardware with 4GB of RAM are effectively useless for running a node. They weren’t in 2022, before the inscription spam wave began.
Thank you for this! 🙏
Do I understand this right: if Libre was a dominant node implementation (it has most filters turned off by default) the network could be spammed by millions of 0-fee txs?
I don't know. If I had to guess, I suspect that implementation didn't eliminate the minRelayTxFee filter, just relaxed it somewhat. If that's the case, then depending on how much it relaxed it, it's probably fine.
Nodes secure Bitcoin! Bitcoin Knots FTW!
BitcoinIsFuture
I 💜 Bitcoin Knots.
So, who secures Bitcoin?!
If securing Bitcoin requires consensus on what Bitcoin is, and Bitcoin is a database of values assigned to keys, and Bitcoin has a protocol for reassignment of keys, then securing Bitcoin can only be done by … your node!
Nodes! Nodes! Nodes!
In the end, YOU secure Bitcoin, but the only time that matters is when you agree with someone else on what Bitcoin is, and the only way that you can express yourself to others is via your node.
You can try to abstract this and say that hodlers of last resort secure it, or that you can express yourself by buying or selling, but the only way you can actually communicate yourself is via enforcement of the protocol.
What about Miners?
Miners are suppliers of blocks, nothing more. Nodes demand consensus-compatible blocks as a vessel for key reassignment. Miners’ ability to influence the protocol is limited to the wiggle room within the protocol’s magic numbers.
from
https://medium.com/bitcoinerrorlog/who-secures-bitcoin-95b19bbcda3c
View quoted note →
Thank you for explaining all this to me.
This is a valid point but ram and hardware improve and get cheaper over time
You went from needing to have 4GB of RAM to needing 12GB of RAM to seamlessly run a node in just 2 years, but in the meantime RAM didn’t get 3x cheaper, so spam is materially making running a node more expensive over time.
In bitcoin terms it’s gotten cheaper. But still. Do you have any evidence supporting these numbers though?
> In bitcoin terms it’s gotten cheaper.
I hope you’re not serious here. 🫠
Anyway, the evidence is the size growth of the UTXO set. Check the link below. There’s also the testimonial evidence from node runners that made a fresh IBD in the past year, all of them reporting slower node sync, especially when downloading the past 2 years worth of blocks. Of course you can always claim that they are dishonest, which is why you should try an IBD yourself, ideally on a machine with 4-8GB of RAM.
The Impact of Spam on Bitcoin
Stats about the impact of spam on Bitcoin
Am I wrong about it being cheaper in bitcoin terms?
“Although non-payment related transactions occupy about 50% of each block, the majority of the fees paid in each block are still coming from payments. This data shows how non-payment transactions (spam) are displacing payment transactions, this is forcing payment transactions to pay a much higher fee to be included in blocks.”
Isn’t this good for miner decentralization? The mempools are empty and miners are getting most of their revenue from the subsidy reward. That’s not good.
becuase these people don't understand that economic incentive is always the deciding factor on how much user buys the block space no matter how much you filter. that's why when fees were 500sat/vbyte filters didn't work.
Economic incentives is what secures the network because right now blocks empty and therefore miners will happily mine "spam" period as long as the txn valid it will be in the block no matter what filter advocates tell you.
The subsidy from spam is less than 1% of the total block reward, fees included. It’s a marginal difference for miners mining spam vs miners than don’t. The adverse effect on nodes is much more substantial and node runners don’t get compensated for the additional burden on their machines.
1% revenue from spam is what it is now but that could change. Ordinals were very profitable for miners. The fact of the matter is that the spam does incentivize miners because it is more profitable for them. And although you may see it as a small profit, miners still think it’s worth it to mine those transactions. And it’s a free market, so miners should decide for themselves if they want to include it in blocks or not. The fact that they just go directly to large miners for it hurts miner decentralization because the small miners don’t even have a chance to profit from spam. I don’t like spam but it seems like the main argument to filter out spam is a moral one. And I’m more interested in longevity of the Bitcoin network. Why wouldn’t a small miner just join a large mining pool when a flood of spammers decide they want to put their spam on the network?