Knots reduces the negative impact of spam on node runners by treating spam as objectively different from regular txs

Core treats spam identically to regular txs, for subjective reasons (some of its devs think spam is good)

Be objective. Consider Knots.

https://supertestnet.github.io/spam_tester/

Reply to this note

Please Login to reply.

Discussion

Spam is subjective

If you consider the spammer’s opinion as objective, then sure it’s subjective.

Humans wrote bitcoin. The only objective things a bitcoin node knows are what its devs and users tell it.

A Core node doesn't know what a valid tx is, except it does because a human told it via the consensus rules

A Knots node doesn't know what a spam tx is, except it does because a human told it via the mempool policy

CSAM and monkey jpegs are not subject to be ibterpreted as anything but spam (or worse) when talking about Bitcoin's function - money.

Aren't you also against inscriptions? Shouldn't knots also filter inscriptions?

Maybe it does that already, I don't know.

> Aren't you also against inscriptions?

Yes

> Shouldn't knots also filter inscriptions?

Yes

> Maybe it does that already, I don't know

It filters inscriptions that are larger than 83 bytes

I would prefer it to filter all of them, but filtering the big ones is a decent start

Inscriptions are stored in witness (not op_return)? Does knots apply the 83 byte limit to witness too?

It applies it to inscription envelopes specifically, by testing for the existence of the bytes for "OP_FALSE OP_IF" in the witness

And the limit is the same 83B?

I think so. Here is the relevant code snippet: https://github.com/bitcoinknots/bitcoin/blob/eeb9cc1120661d0e9fd28ddb6fef2c04992a4666/src/script/script.cpp#L329

It is a function called DatacarrierBytes and I don't know c++ all that well but it appears to match transactions containing OP_FALSE OP_IF or OP_RETURN, and counts the number of bytes they carry as a payload. I assume this function gets called wherever the data arrives filter is applied, which I suppose is probably in policy.cpp -- though I haven't checked

I don't know enough either, but I wonder if the is used also on inputs, or just outputs.

"Super testnet" man that's a dope name 👌 that name pops

Knots is maintained by a psychopath. I'll pass.

You'll pass, and run core V30? If so, I wonder if that kinda slander goes both ways.

Passing on knots doesn't mean I have to run v30...

Wait until you see some of the core contributors 😬

Yes, Luke is a core contributor. He's on a different level.

Your mom is maintained by a psychopath

**** This just in.. pedoland under 'pedo software' "crisis" ****

The U.S. is the only UN member state that has not yet ratified the Convention on the Rights of the Child.

As of July 2025, child marriage is legal in 34 states.

They don't just think spam is good, they profit from spam.

Come on man