Replying to Avatar jimmysong

If Bitcoin is a monetary network and that's your priority, then NFTs and Memecoins are definitely worth thinking about, given that those things are now a significant chunk of the UTXO set. Somewhere in the 40% range are under 1000 sats and using Taproot, from what I've read so they have real effect on users' ability to run nodes. Shouldn't decreasing them or economically discouraging them be a priority? The attitude I've seen from many core devs is that of "we can't stop them entirely, so what's the point of trying?"

> If bitcoin's going to go anywhere, it can't be something where some select individuals can exercise outsize control over the network as a whole based on their personal dislikes. If you're in a position to stop people from spamming, governments are in a position to stop people funding opposition parties.

You're right that the analogy I gave is off, but I disagree with this.

Certainly if it was a small number of people that could veto transactions, yes, that would be terrible (though with enough KYC mining pools, this will be the case). But what we're talking about are relay standardness rules that virtually every node on the network already runs *being removed*. That's not a small number of people, that's almost everyone! And as others have pointed out, they can *still* get their transactions in if they're willing to use other means to get to miners who will mine these non-standard transactions. We're not talking about a small number of people censoring transactions they don't like, we're talking about most of the network *not relaying* transactions they don't like. They're not the same thing.

Nobody should be forced to relay transactions that they think are spam. It is not your bandwidth. Nor should anyone be forced to not relay transactions that they think are legitimate. The choice should be up to the node runner. The PR that got closed, and the current PR that's open both aim to remove this choice now, the next release or eventually.

> The issue with a global public ledger is that **every** entry in it other than those relating to your personal coins is fundamentally spam as far as you're concerned.

I get your broader point that we have blocksize limits that prevent data that people don't care about from getting out of hand. But what you have here is a very strange definition of spam.

I care about the part of the ledger that I have, yes. But I also care about the total number of Bitcoin as its absolute scarcity is a hugely important part of the value proposition. So yes, even transactions that I'm not directly party to actually do concern me because I want to be assured that the number of all Bitcoins is what I expect it to be. In other words, a continuous audit of the entire ledger has value to the individual holder.

Spam wastes the resources of my node and block space on non-monetary transactions making this continuous audit more expensive. So spam is not just "transactions that I'm not directly party to," but non-monetary transactions that bloat the resources required to audit the ledger. As I said, I understand the spam is limited by the blocksize limit, which is great. But it's still spam and making the distinction between monetary transactions and spam would mean monetary transactions cost less while spam costs more, which means we get more of the former and less of the latter. And conversely, removing the distinction, which is what removing the relay filter would do, would mean monetary transactions cost more while spam costs less. That would be prioritizing spam.

In other words, a monetary network should prioritize monetary transactions.

> irrelevant transactions are spam

The definition of "spam" here would be "you send me megabytes of data where I only care about (at most) few bits of information".

In this case the data I'm interested in is "how much btc can I spend, can anyone else spend it and if so who, and what is the total supply of bitcoin". The daily updates of information can be encoded in a lot fewer than the 300MB we expect from a day's worth of blocks. Unfortunately we don't currently have a way of doing that encoding that doesn't allow cheating, so to run a node we have to accept and store a large amount of data that we don't really want.

That is something that attackers/scammers do exploit: you were even around for the 2015 stress tests that flooded the mempool and filled up blocks, and were not done for any underlying transfer of value, not even the de minimis value in selling a random memecoin.

There's no meaningful difference between data spam and transfer spam's effect on your node - you have to validate both, and both take up roughly the same capacity requirement (data can take up more bandwidth and disk per week, though not if encoded via an op_return; transfer validation required more cpu/processing time). There's also no difference between transfer spam and real transactions.

If either of those are causing actual problems, then those problems will reoccur with real transaction load, so need to be fixed independent of whether the current cause is spam or not. We've fixed one set of such problems during the 2015 stress tests and another early in the inscriptions fad, but I don't think there are any known issues remaining.

I realise it's not pleasant to put something you hate (data spam) and something you like (other people using bitcoin as a MoE) into the same category, but as far as technical impact on your node's operation, they really are fundamentally the same, affecting your node in the same way, subject to the same global limits, impacting the same global marketplace in the same way (ie the blockspace fee market), having the same solution (move the substance off chain so you're mostly not subject to the limits or fees; eg via lightning).

I'm not saying this to get you to agree on this point, by the way, just to explain my views on this topic at the fundamental level, before getting into the economic details or the technical ones. You've accused devs of both bullying you and avoiding discussing the fundamentals.

Your claim that "failing to continually deprioritise things I dislike is actually the same prioritising them" isn't a reasonable use of those words. Ceasing to forbid/discourage something isn't the same as encouraging it, and the continued implication that this is all about devs wanting to encourage spam continues to be unappreciated, unfair and incorrect.

Reply to this note

Please Login to reply.

Discussion

> I realise it's not pleasant to put something you hate (data spam) and something you like (other people using bitcoin as a MoE) into the same category, but as far as technical impact on your node's operation, they really are fundamentally the same, affecting your node in the same way, subject to the same global limits, impacting the same global marketplace in the same way (ie the blockspace fee market), having the same solution (move the substance off chain so you're mostly not subject to the limits or fees; eg via lightning).

I agree with everything until that last clause. You can reduce spam by discouraging it. That's what we've been doing with non-standard OP_RETURNs and non-standard scripts and below-dust-limit outputs, which you don't have to do with legitimate transactions. I actually really like your analysis and the commonality in reducing on-chain transactions is some sort of layer two which settles at layer 1. That's a useful insight.

Where I think the reasoning goes wrong is that spammers don't have the same goal as you, to reduce their on-chain footprint and use off-chain protocols to make things efficient. The spammers specifically *want* to spam the chain and have been shown to be malicious in that regard, purposefully trolling Bitcoiners (like the stamps protocol, for example). So in a sense, thinking about making their protocols efficient is a waste of time. I really don't think they're interested because they could do the same stuff for way cheaper on almost every altcoin.

> Ceasing to forbid/discourage something isn't the same as encouraging it, and the continued implication that this is all about devs wanting to encourage spam continues to be unappreciated, unfair and incorrect.

That is the end effect, though, isn't it? Whatever your intentions may be, the end result is that more spam comes onto the network. Or maybe you'll deny this, in which case, we'll devolve into discussions about what might happen. But ultimately, I'm not inside your head and can't determine what your intentions are, I can only judge the practical effect this has. You said that you're prioritizing Bitcoin as a monetary network. The PR deprioritizes Bitcoin as a monetary network and your response seems to be that your intentions aren't to do that. OK, I guess? Would you rather have people question your competence instead of intent? Because the result is as clear as day that we'll see more spam and not less as a result of the PR. And when people like me say that, we get a lot of anger, insults and eventually, speculations about boogeymen that will do something worse if we don't agree to this PR.

"You can reduce spam by discouraging it" is a question of incentives, not one of fundamentals. I don't think we've finished the fundamental debate that you wanted yet.

Do you agree that core devs in general are trying to make bitcon work as a monetary network with a similar/compatible definitively to yours? That is, that we are actually on the same side here, even if we have different thoughts on how best to achieve that goal?

Do you accept that reasonable people can disagree on what constitutes "spam"? Both in thinking things you think aren't spam actually are, and in thinking stuff you think is spam is fine?

Do you accept that bitcoin is not your network, to rule as you wish, but that rule changes require near unanimous consent, even from the reasonable people who disagree with you, and potentially even from people doing the spamming?

Are you trying to ban spamming from bitcoin entirely?

Are you merely trying to discourage spammers? Are you aware that that might have no effect, or the opposite ("how dare you tell me what to do, I'll do it to spite you")?

Do you believe that going into technical details on this topic, to work out how best to make bitcoin sustainable as a monetary network in the long term is a valuable thing to do, or is that just a way for experts to attempt to close down the discussion and exclude non-experts?

I notice you're gong straight back to personal attacks ("would you rather people question your competence rather than your intent") and justifying it with fairly specific thoughts about current approaches, rather than sticking with the fundamental principles you claimed to want to discuss.

Oh, a question I missed. What's your goal that makes you opposed to spam, rather than being willing to merely ignore it? Or what's the success condition that would let you happily move on from this issue?

Some might be:

* you're sure your node will keep working for 10 years on current reasonably priced hardware?

* the mempool is generally empty and blocks are rarely full?

* that you feel like you've taken a stand and sent a signal, even if 99% of blocks are 99% spam and fees are sky-high? ("they may have won the war, but i bloodied the Kaiser's nose, that's for sure" eg)

* it's cheaper to pay for a coffee on chain than it is to inscribe a jpeg?

* that the spam and transfer tx fee markets are decoupled somehow, so that any spikes in people wanting to spam the chain don't cause your fees to spike, even though more monetary txs will still cause your fees to spike? (Or have less effect than they do today, rather than none)

* nobody on the internet is ever wrong ever again?

* something else?

> "You can reduce spam by discouraging it" is a question of incentives, not one of fundamentals. I don't think we've finished the fundamental debate that you wanted yet.

I thought you agreed that Bitcoin is a monetary network (prioritizing Bitcoin transfers and not anything else like database entries) and that this is your priority. We're discussing now the downstream consequences of that, no? Are we not agreed on the fundamentals? I thought you agreed pretty quickly, perhaps to get to the downstream stuff faster.

> Do you agree that core devs in general are trying to make bitcon work as a monetary network with a similar/compatible definitively to yours? That is, that we are actually on the same side here, even if we have different thoughts on how best to achieve that goal?

I have no idea what individual motivations might be and I reject this framing that I have to agree first that "everyone has good intentions" or some such. I'm not in their heads, so I don't know. You've told me that Bitcoin the monetary network is the priority, so I'm asking questions to check. Verify, don't trust. This demand to accept the conclusion about intent before the verification is completely backwards. You've asked this several times as if it's some critical part of your reasoning, but for me, this question is to get an in-built advantage in the argument by forcing me to assume best intentions. If that's not the intention, then why are you asking such a question? Why should people assume that *every* core developer is committed to making Bitcoin the best monetary network that it can be given that it's a large number of individuals with lots of different beliefs, lots of different funding sources and lots of different backgrounds?

> Do you accept that reasonable people can disagree on what constitutes "spam"? Both in thinking things you think aren't spam actually are, and in thinking stuff you think is spam is fine?

At the very edges, sure. But that's a very bad framing of the issue. Do you really think there's any controversy about a dickbutt jpeg being monetary or not? Or memecoins? Or NFTs? Or messages like the ones we're seeing that are non-standard OP_RETURNs right now? Because those are the things going into the chain.

> Do you accept that bitcoin is not your network, to rule as you wish, but that rule changes require near unanimous consent, even from the reasonable people who disagree with you, and potentially even from people doing the spamming?

The node I run is mine. And that part of the network, I definitely should be able to rule as I wish. What the rest of the network does, I accept that I have little to no say in.

> Are you trying to ban spamming from bitcoin entirely?

Ideally, that would be great, but I recognize the technical reality that it's probably not possible (at least without a really restrictive soft fork or something similar). Do you agree that reducing spam, but not completely eliminating them, is desirable? And that increasing spam is undesirable?

> Are you merely trying to discourage spammers? Are you aware that that might have no effect, or the opposite ("how dare you tell me what to do, I'll do it to spite you")?

The word "merely" is a very bad framing given that the discouragement has largely worked. There were very few non-standard OP_RETURNs before this PR was created (30 out of 7M+ in the first 16 weeks of 2025). Are you suggesting that this PR will have no effect? That you won't get a lot more >83 byte OP_RETURNs in 2026 than, say 2024? I suppose that the PR might not have any effect, but I don't think there's any evidence for that. Could people do the opposite and spite Bitcoiners? Perhaps. But they have to spend their Bitcoin to do so, so it's not unlimited. They've been spiteful already (Stamps) and have largely stopped, presumably because it became uneconomical to do so.

> Do you believe that going into technical details on this topic, to work out how best to make bitcoin sustainable as a monetary network in the long term is a valuable thing to do, or is that just a way for experts to attempt to close down the discussion and exclude non-experts?

Again, the technical details here are pretty straightforward (remove standardness checks on OP_RETURN), so I'm unimpressed by more explaining of something that people clearly understand. What I've seen is that the technical details part has been used as a way to deny all the people who disagree a voice in the discussion, particularly around the economic incentives. And when people complain, we get even longer explanations, not about the economic incentives, but about the history of OP_RETURN or some such. It's almost like a DoS attack on the people that disagree.

> I notice you're gong straight back to personal attacks ("would you rather people question your competence rather than your intent") and justifying it with fairly specific thoughts about current approaches, rather than sticking with the fundamental principles you claimed to want to discuss.

I should have phrased this better. It wasn't meant to be a personal attack, but a response to this demand that I accept the intent of the developers. If I accept the premise that all the developers for this PR prioritize the monetary network AND have concluded that the PR does not prioritize the monetary network, the conclusion is exactly that, the developers for this PR are incompetent. As I've stated above, I don't accept that first premise and I'm open to having the second premise changed. I have worked with people like you and know you to be competent. Brilliant, even.

Okay, should have read this reply first.

> I have no idea what individual motivations might be

Given I've been explaining mine to you, that's either dishonest or wilful ignorance. Have fun with knots.

> What's your goal that makes you opposed to spam, rather than being willing to merely ignore it? Or what's the success condition that would let you happily move on from this issue?

My goal is to make Bitcoin a monetary network and not anything else. I'm convinced this PR has a good chance of going in, so I'll move on from this issue regardless. I will make some predictions, though, and show the receipts when something like this comes up again.

If the removal of the datacarriersize default PR goes through in the next release of Bitcoin Core:

* There will be at least 100x more OP_RETURN outputs greater than 83 total bytes in 2026 than 2024.

* The cost of those transactions will generally be cheaper with respect to the median block fee than they were.

* There will be at least 30% more hashrate mining OP_RETURN outputs greater than 83 total bytes in 2026 than 2024.

No I mean what real goal are you trying to achieve here that spam is making difficult - like presumably it's possible that we drop the pr entirely, but that doesn't actually do enough and there still ends up being "too much" spam. Or maybe the pr does go in and it turns even with it, there isn't a market for this nonsense and bitcoin doesn't end up with "very much" spam. What's the "business goal" that's affected by success or failure here, as far as you're concerned?

(For me the primary metric is "can a cheap node keep validating the blockchain", and to a lesser extent "is the long term tx fee rate level and its variability reasonable". I could probably put numbers on the first, though the layer is, at best, "i know it when i see it")

The first two of your metrics above have been met in the past month, I believe; is there some way in which bitcoin had been unusable for you in the past month?

Questions? Suggestions? You can find me on signal for quick response:https://signal.me/#eu/9tZRWI5zBR2OOWfO138D16oBl78C1KOSZ9dbjPN:_4CvRqKkBAu1PFqOlzsQsELeC