In this ongoing spam war, which has been a thing for the last five years, we keep hearing that Bitcoin doesn't really need any spam filters. They keep saying that miner fees are the only thing we need to keep the spam in check.
This has been used as a reason to ignore the rising spam on the chain, and it even backed the decision to remove a spam filter with core 30.
"The fees are the only filter we need."
That's what we've been told for five years now.
But is that actually true?
Is there something in the fees that magically deters spammers but keeps real Bitcoin users safe?
Honestly, no way. The notion that fees alone can eliminate spam is laughable. We've been misled for half a decade into thinking a complete falsehood.
Take the Segwit exploit, for instance, which is one of the biggest spam issues right now.
When I use Segwit, I usually get about a 50% discount at most.
But when spammers shove their dickbutt.jpeg into Segwit, they often score discounts of 75% or more. Check out this example:
https://mempool.space/tx/d8fcb4e1773dab015310c593f0612f0b9b029d24e01416f26414a357a2c13093
In this case, they got a 74.8% discount.
So if spammers are consistently getting better discounts than regular Bitcoin users, what are the fees actually filtering out?
Seriously, if spammers are landing bigger discounts than honest users, who’s really getting excluded by these fees?
I think Satoshi knew that just fees might not be enough to tackle spam. This is how Satoshi responded when faced with the issue.
It can be said that commissions work as an economic filter, but it is important to remember that they cannot distinguish spam from legitimate transactions. It all happens very simply.If you paid more, you end up getting your share of the block. Given this, we can conclude that in this case ordinary users suffer. In my opinion, it is better to ask the question differently, that is, the problem may not be in the fee, but in how the protocol processes transactions that differ from each other.
This is just like the highest bidder takes it all. The higher the transaction fee, the faster the confirmation, as miners would be jostling to confirm transactions/mining of blocks, they would also accept higher fees also for whoever is willing to pay for it, and once that happens, the other normal transactions are neglected, hence you see the delay in confirmation when your fee is very low. They prioritize higher fees in most cases because they have a lot to benefit from such transactions.
I don't know if anybody ever said fees is the only thing, like you pointed out satoshi said there are always other things.
But I'm not sure what you're trying to make the main point here. Are we saying we need to censor? Or just saying that spam should wait and be taxed? I like the second idea.
You are not factoring in the Segwit discount. Real Bitcoin monetary transactions get a smaller Segwit discount than spam transactions that use the Segwit exploit. So a spam transaction that effectively pays less in fees will be more profitable to the miner than a monetary transaction of the same size.
You never heard that "The miner fees are the filter"? That's what I have been told over and over for the last 5 years. The implication was that the miner fees should be the only filter. Which, as I already explained, is effectively filtering out legit Bitcoiners with smaller Segwit discount.
My point is that for the last 5 years, every time the nodes asked for something to be done about spam, the excuse to do nothing was that the fees are the filter, and anything else is either in effective or censorship.
And even when they decided to blow up a spam filter last year, they claimed it didn't work, it's censorship, and the fees are the only filter we need. Clearly we were gaslit.
Preventing spam on Bitcoin is not censorship. No more than not allowing a Christian preach in a Muslim or Jewish temple constitutes a breach of your freedom of religion. Bitcoin is money. You are free to use Bitcoin to buy a pancake or a jpeg. But neither your pancake nor your jpeg belong on the Bitcoin chain.
If you want to make it harder for spammers on Bitcoin, you should run a Knots node, or even better and run a BIP110/UASF node.
What do you mean segwit discount and exploit? Segwit addresses are available for anyone to use and they help to reduce the tx size. This is not an exploit but was a BIP to help lower the feerate.
It is a public chain and people should be allowed to do what they want on it whether or not they like it. The feerate means there is a cost to do what you like which eliminates a big percentage of spam that could have hit the network.
- Jay -
Good point. Fees dont really tell spam from normal transactions, they just prioritize whoever pays more. Thats why its useful to understand fees, especially when sending BTC to places like bitcoinbetting.
This sounds like a smart argument on the surface, but if you dig deep into this you will realize that you could not be more wrong. How exactly do you plan to enforce this? How on a technical level is the protocol able to distinguish "legitimate transactions" whatever that means from "spam"? Here is a hint, it can't. This would lead to a cat and mouse game similarly as the one with direct filters, you didn't actually propose anything different at all except propose applying a filtering mechanism for fees. I as an attacker or a "spammer" can adapt my protocol's transactions to be in the same form and size to whatever you set as "legitimate transactions". In the end, all you would do is punish normal Bitcoin users because many types and shapes of transactions you would de-prioritize but you would not accomplish anything at all. Users should avoid participating in these subjects unless they have some basic knowledge in information theory.
You can't differentiate spam from normal transactions using any mechanism that involves fees. I can easily update my protocol to make my "spam" look like normal transactions (whatever this is supposed to mean). What idiotic proposal will people who support these stupid ideas come up with then? Limit the number of transactions per address? Limit per 24 hours? As a last and desperate proposal, KYC per address to allow "normal transactions" from "real users"?
From my perspective and experience so far, the fees enable you to get mined, while other filters have to only determine the existence of your transactions on the network.
Miners fees may be the only final gate following so many security and technical checks. It determines your validity and compliance to the rules of the network.
I disagree. Paying miner fees allow you to move where you want in the cue to get confirmed. You are basically bidding to get confirmed, or buying block space.
But paying a miner fee doesn't determine validity or compliance anymore than saying the sender of the Nigerian prince email paid his internet bill, therefore his email is valid and not spam.
Spammers know very well that Bitcoin is for money, and only for money. Which is why they try so hard to make their spam look like a monetary transaction. They do this with fake pubkeys, fake script hash, fake Segwit data, the Segwit exploit, and the Taproot exploit, along with dust outputs.
And so while they try hard to obfuscate their spam as legit transactions, there are ways to make their life harder. See the Cat BIP, Knots implementation, BIP110/RDSF, and other proposals are being worked on. The idea that spam can't be prevented or suppressed is false.
You are ignoring what I explained in OP. In the case of Segwit, spammers pay less than legit Bitcoiners as they get a bigger discount. So I ask again, if the spam gets a bigger discount than legit Bitcoiners, who is getting filtered out by miner fees?
Again, you are ignoring what I said in OP. If a spammer does a 30kb transaction, he gets a 75% discount and he only pays for 7.5kb of it while a legit Bitcoiners who does the same 30kb transaction will get around 50% discount at best and pay for 15kb of it.
Here, clearly, the spammers benefit and real Bitcoiners suffer.
Segwit stands for Segregated Witness. But spammers found a way to shove their junk files in the Segwit discount. So they effectively get to post their jpeg on chain for free. At least the jpeg part of their transaction is stored by the 90,000 nodes for free. This is an abuse of the network. They are not users, they are spammers, attackers, grifters.
Bitcoin is money, not a junk file sharing network.
As I already explained, spammers cheated the system into getting a bigger Segwit discount than legit Bitcoin transactions. So in this case the fees are filtering out legit Bitcoiners for the benefit of spammers and grifters
Thanks for all your responses I really appreciate that you took the time.
Honestly didn't know this phrase until I saw it from your post, or at least maybe it never impacted me to remember it.
I guess my words on censorship is about the definition of spam, and who determines this. I always remember the message in 2009 that satoshi himself embedded into Bitcoin. Some people consider that spam. If satoshi included a picture instead, who knows? right?
Thanks for all the answers, I will remember Knots now.
Segwit was meant to help regular users save on fees. That the discount ended up benefiting inscribers more than monetary users is an outcome nobody wants to address.
I thought the OP_RETURN limit relaxation was what spammers abused, no? Did I dream about the endless topics you created whining about Core being pro-spam with the limit relaxation? Is it not a good narrative now? You know. Now that it clear spammers would pay multiples of the same amount they'd pay with Segwit.
At least I'm glad we're past OP_RETURN now. One step at a time. Now the next season of threads will be about just how Segwit was an Epstein conspiracy to discount spam and "filter out" monetary use.
Remember everything that the luke cult does not like is the enemy of BTC
Makes you wonder if any of them have any BTC or if they all lost it and are now just bitter and want to put forth their view of it so they can come up with some scheme to get some crypto.
Shrug, no matter how much they really want to think differently no matter how many nodes they spin up to try to sybil attack BTC it's not going to matter if miners & exchanges don't support it.
-Dave
It can not be addressed, until you stop insisting on delusional ideas and other bullshit those that have skills and knowledge in this field will never listen to you. Core should isolate themselves even more and only entertain comments from provably knowledgeable people and those that have demonstrated merit. Everyone else is noise and stupid.
If you indulge idiots on their delusions and stupidity, they will always come back and ask for more. This is why discussing with idiots is a waste of time, for topics that we are talking about here there is an objective truth -- no mater how much modern liberal ideas want to infuse subjectivity in everything in order to desperately demand validation for their errors. The recent changes with OP_RETURN has once again validated that Core is right, and those that were on the opposing side of this issue are idiots that should not be listened too. The mistake was keeping luke-jr relevant at all for so long instead of banning them from the official channels, they are after all centralized and based on merit. Whatever you give in to them, spam will come back again in a new form and they will ask for more things to be done instead of admitting that they were wrong from the beginning. This has no end, and it would require that KYC be done per address in order to make transactions at all with many limits in numbers and quantity per 24 hours - and even then it would not work.
I don't know if Bitcoin's high fees are really enough to combat spam...🙋
However, I am absolutely certain that a split between miners and developers is dangerous for /the first cryptocurrency/. I remember 2017 very well and all the talk about the upcoming hard fork. Everyone expected that (as a result) we would get two Bitcoins, and it would be difficult to determine which one was real.🤷
I remember Roger Ver and Jihan Wu's scam (promoting Bitcoin Cash) well. I remember numerous small transactions that slowed Bitcoin down (this was done intentionally). I remember one evening when Bitcoin Cash reached the second-largest market cap on CoinMarketCap. I remember the moment when the price of 1 Bitcoin Cash = 1/2 Bitcoin.
I wouldn't want the discussion about how to combat spam on the Bitcoin network to lead to "bad guys" using it to destroy Bitcoin. For example, I wouldn't want the Bitcoin Core development team to be removed from working on Bitcoin's code. In my opinion, there aren't that many truly professional crypto developers in the world.💁
There is a fundamental difference between the Genesis blocka inscription and today's spam.
Satoshi embedded his famous message in the coinbase miner space. If you mine a block, you get to write a small message if you wish in the coinbase miner inscription field. It's tiny, maybe 50 bytes max.And if the miner doesn't put anything there, random data is inserted.
That coinbase inscription field is typically where miners put their name. So when you go on mempool.space, and you see a block was miner by F2Pool, it's because F2Pool put their name in that space. You could also put in a short message or Bible verse, or leave it empty.
In any case, you'll need to mine a block to touch that space, and it wouldn't add any data to the block as it gets replaced by random data if you put nothing there.
Some spammers like to say that preventing spam is censorship. But Bitcoin is money. They can buy a pancake or a jpeg with Bitcoin. But neither their pancake or their jpeg belong on the Bitcoin blockchain.
This thread is about the subject of Segwit discount for spam greater than the Segwit discount for monetary users. You are in the wrong thread, buddy.
Actually, I would be happy with core dissolving completely. But it's not likely to happen any time soon.
I think a central entity working on the code for the majority of nodes is a big problem. Especially when that central entity is almost entirely funded by companies, many of them with shitcoinery going on. I think it's clear core works for their donors, not for the users.
What I would like to see is independent devs working on their individual implementations. For example, Knots maintained by Luke, and 5-6 other implementations maintained by other separate devs.
Should core collapse completely, the qualified devs who want to preserve Bitcoin as money could apply fora job at Knots or start their own implementation.
Got it. I learn something about Bitcoin all the time thanks to people like you
I also have a personal definition of spam, and that is intent, and the intent has to be contributive to the network or ideology (which is why if satoshi had wanted to put a bigger data but explanatory link I would never have counted it as spam).
I guess if the 50 bytes data space is gonna be there anyone can put anything in but I still think its spam if its garbage 5k or 50k .
:cheers:
I keep learning all the time too. Bitcoin learning is a bottomless pit.
I wouldn't object to that definition at all.
Not anyone can put data in the coinbase inscription space. You have to buy a warehouse full of ASICs and pay a ridiculous amount of electricity to miner a block in order to write in that space.
And honestly, nobody on either side really objects to the miner inscription in coinbase tx. The spam apologists just like to bring it up as justification for their spam.
I guess you could consider it as spam. Bitcoin doesn't need the coinbase inscription to function. But it's relatively harmless at <50 bytes.
Do you want to require Proof of Work from users, to filter spammy transactions? Because this is one of those "other things", that can be used. Also, checking Proof of Work inside transactions is something, that is compatible with miner incentives: the more Proof of Work you put into making your signature, the smaller it will be, so the more coins you can save on transaction fees, because it is based on transaction size.
If a spammy transaction uses more fees, than a regular payment, then guess what: miners have an incentive to include it instead.
When you use "other things", at least make sure, that people will have any incentive to use them. Because otherwise, how do you want to get miners on your side, by telling them, that they will make less money, because of your changes?
Proof of Work is incentive-compatible, because you can say "your transaction will be smaller, so for the same satoshis, you will get a bigger satoshi per byte ratio".
If you have to worry about your Script being blocked, then it is. Imagine you make a simple condition: "require Alice's key, or Bob's key after some time". How do you know, that your coins are safe? Maybe someone will suggest blocking OP_IF? And then, suddenly, your coins are unspendable, only because you had a simple contract: "OP_IF <pubkeyAlice> OP_ELSE <time> OP_CHECKLOCKTIMEVERIFY OP_DROP <pubkeyBob> OP_ENDIF OP_CHECKSIG".
Also, if new filters are invented on a regular basis, then you never know, if your coins valid today will be valid tomorrow, or not. Which makes writing new contracts hard, because at any point in time, someone can point at your transaction, and call you a spammer, even if it was a simple locktime with two public keys, only because it used OP_IF, that you didn't expect to be banned.