Bitcoin Core vs. Bitcoin Knots: The Great Bitcoin Spam Fight

The Bitcoin community is engaged in an interesting debate: Bitcoin Core vs. Bitcoin Knots. What are they? Why are they fighting?

Here, I explain clearly and simply, without missing any details, with neutrality and a touch of the "spam" controversy.

What is Bitcoin Core?

It's the main software used by approximately 90% of nodes (computers that keep Bitcoin running).

It's stable and developed by many programmers, but some say it doesn't react quickly to problems like network spam.

What is Bitcoin Knots?

An alternative version of Core, created in 2011 by Luke Dashjr.

It has everything Core has, but adds filters to block "annoying" transactions like NFTs or images on the blockchain.

It is used by approximately 633 nodes and relies on a single developer.

Why the conflict?

Everything exploded in 2023, when transactions like NFTs and "ordinals" (data like images on the blockchain) saturated the network, driving up costs.

Knots filters them to ease the network's burden; Core allows them if they pay fees, dividing the community.

What is "spam" in Bitcoin?

Think of the blockchain as a highway: transactions are like cars. Some (NFTs, JPGs) take up a lot of space, causing "traffic."

- Knots: Blocks them to clear the way.

- Core: Lets them through if they pay a "toll."

But who decides what is "spam"?

As the community says: "Spam is in the eyes of the recipient."

- Some see NFTs as spam, like a fake lottery email. Even if they pay, they don't want them on their nodes.

- Others say: "If they pay and the protocol allows it, it's not spam."

Think about it: someone sending mass emails about fake lotteries pays for the server and plays by the rules of the internet.

But you don't want those emails in your inbox. Likewise, some people don't want JPGs on their Bitcoin nodes, even if they're "valid" transactions.

Is it fair to filter them?

The debate began in 2023, when a bug ("Inscriptions", CVE-2023-50428) allowed data like NFTs to be inserted into the blockchain, overwhelming it.

Knots quickly fixed this in its 25.1 release, while Core was slower, leading some to view Knots as the solution to "spam."

Here are the sides in this debate:

- Team Core: They believe that any transaction that pays is valid. Filtering is like "censorship" and goes against the freedom of Bitcoin. They prefer stability and regulated fees.

- Team Knots: They want to protect the network from saturation, claiming that filters don't break the rules.

- Luke Dashjr (Knots): He says NFTs and ordinals are "spam" that clogs the network and increases costs. His filters help small nodes, but some criticize him for only maintaining Knots.

- Peter Todd: He sees "spam" as a problem, but says paid transactions are valid. He looks for open technical solutions.

Other technical voices

- achow101 (Core): In 2017, he said to use Core unless you need Knots' features, viewing Knots as an "extra."

- Developers like Gloria Zhao have shut down filter ideas in Core, frustrating those who want quick changes.

After asking a few people in the community, we came to different conclusions on both sides:

- Pro-Core: They value stability and fear that Knots, with only one developer, is risky. They say filtering is making decisions for others.

- Pro-Knots: They want anti-spam tools and criticize Core for being slow. They see Knots as an innovation.

The Filter Dilemma

Even if you filter JPGs on your node with Knots, if a miner includes them in a block, your node must accept it. It's like blocking a lottery email, but having to save it if it's already reached the server.

This makes the debate complex: do you filter or accept everything?

Technical explanation (easy)

The mempool is a waiting room for transactions.

Knots lets you choose what comes in (with filters like datacarrier=0), while Core accepts almost anything.

If many nodes used Knots, spam would be more expensive, but it wouldn't disappear.

Core is committed to stability and freedom; Knots is committed to control and efficiency. Spam divides because everyone has a different view of what's "annoying."

The community will decide whether Bitcoin should be "cleaner" or more "open."

Which side are you on?

Reply to this note

Please Login to reply.

Discussion

Muy buena explicación negro, Gracias!

De nada 🫡

Like all things, nothing lasts. Knots seems to be the item on the shelf that lasts the longest, like honey, or dates.

Running Knots

Mmm yo no

knots

Bitcoin core

Bitcoin Core pero buzzbot era spam en nostr?

Yo prefiero Knots, con el tamaño requerido para que todos puedan tener un nodo no se juega

Es distinto y buzzbot no lo pueden censurar , solo cada usuario puede elegir si ver el contenido o no. Knots funciona como si Fiatjaf tuviese el poder de censurar a buzzbot, en definitiva en nostr somos todos así como SATOSHI somos todos

Los moderadores de Bitcoin Core están marcando comentarios críticos como Offtopic. Eso lo sabias también?

No, no lo sabia

No veo la gravedad de eso tampoco,.es insignificante para mi

Thank tou nostr:npub1yrffsyxk5hujkpz6mcpwhwkujqmdwswvdp4sqs2ug26zxmly45hsfpn8p0 !!

I was never a fan of graffiti, including tattoos, so I think I’ll go install Knots

Its a false dichotomy. Fork core is a third option.

I must stay on Core side, not necessarly because I endorse the inscription usage as it was done in 2023, but I must admit I still think there are real use cases that could worth it, as long as we keep minimal data on the blockchain, like a decentralized npub/url registery (like ENS did on Ethereum, one of the only good use cases of Ethereum imo).

Also this NFT mania was a phase like many others, as soon as it turns out unprofitable, it went dead and it's again a non-issue, the mempool get cleared regularly, nobody would have believed this in 2023.

Anyway I still think it's good to have alternatives and not relay on a single solution, however I would not take the risk to run my node with it's main component maintained by a single person. This is doomed to failed. The guy could move on to another project, take too long to push critical update, have not enough resource and less observer to find critical bugs, take a turn even more controversal without anyone else to bring a second opinion/voice, or he could die or disapear, leaving you in a bad situation, having to setup your entier node again.

I already run CLN and it's hard to be the marginal group, behind always late to get included in new project and service (LNbits still not supporting the new REST that is more secure, NWC not supporting CLN at all, Thunderhub,...)

But it has still more than one dev and 300 users (I hope), and a lot of excellent features that I want to support and use (bolt12, CLNrest rune with fin tuned permissions, ...).

So. Wouldn't it be possible to do it like this: Knots nodes only save the hash or another identifier of a jpeg that refers to that hash/identifier on core nodes?

Today I switched to Bitcoin Knots not only because of their bad technical decision but also due to how they handled open discussion and their attitude - blocking accounts, silencing people and so on ...

nostr:nevent1qqsv0f5camgrldthjmxkdhtyl5x2dezuhhqly6t6m290y2kt5886wxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9thwden5te0wfjkccte9ejhs6t59ec82c30qyt8wumn8ghj7un9d3shjtnwdaehgu3wdejhgtc9wn0mg

Yeah I also drew the line at the blocking

Thanks for the concise explanation

There’s nothing concise in this explanation.

I'll be running knots

Based on your note, I'm on the Core side.

That said, I heard Core wants to change the code to enable more spams. 🤔 If it's true, this is not stability. Dev should stick with security/compatibility updates.

It was a pretty surface explanation, wrong on many levels. I suggest that you read this instead: https://wtfhappenedinfeb2023.com/

Your explanation is pretty surface one and makes a lot of wrong conclusions/assumptions. For a deep dive into this topic I suggest you read the contents of this site that has been compiled by lots of different plebs over the span of 2 years: https://wtfhappenedinfeb2023.com/

I'd personally be skeptical of anything that's only supported by 1 Dev. Especially someone as.... "idiosyncratic" as him

My understanding, from a person interviewed on TFTC, is that these extra ordinal type transactions paid less of a fee than everything else. Anyone know if that is correct or not?

If true, that's much like churches being tax-free. If an ordinal pays the full fee, then that is business. If they are getting some kind of discount, I'm not so much in favor.

No existe descuento, uno paga el fee que tiene la mempool en ese momento

IMO, but big point of the debate is around growth of the blockchain. Monetary transactions take up a small amount of space, but much of this spam is exploiting data/filtering limit holes, for example in SegWit additions to Bitcoin.

This means data storage requirements to run a node have been growing at a much more rapid rate. This makes node running less accessible/more expensive, and take a lot longer for an initial sync (and more network resources).

The Bitcoin network needs more nodes, not less. Thus, this is a threat to the primary objective of Bitcoin in the first place. There really is no need for non-monetary transactions, especially if they harm Bitcoin in any way.

Buen punto, coincido igual que tiene que haber más nodos

No, sorry. The core side is the opposite of freedom. They're preventing people from using the filters they want on their node. You wouldn't want the ability to have a spam filter on your email taken away would you?

I'm running Knots!

You didn't touch the whole point of current drama which is OP_RETURN limit...

Estoy queriendo armarlo para otra nota, todavía hay mucha discusión sobre eso

Sharing information is why Nostr is so good when it comes to Bitcoin and things that matter with cool discussions. Aka Freedom of Speech! Thanks everyone it’s appreciated.

nevent1qvzqqqqqqypzqquxdpn0xlh4zqw9k3patfqml9nnndqkyd9e642sfxzlycj5279pqy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z7qpqcejyy8zr090z8ez3x9zpsqgupwtcqw5pk5vcrjc9m0n047q9ga2suxs4e3

Knots represent only 3% of nodes. Core 90%. This is contrary to the idea of decentralization beyond this debate.

Knots vs Core

one developer against many

one decision-maker vs. a more political system

two philosophies

etc...

pros and cons

the world isn't black and white

> Knots quickly fixed this in its 25.1 release

1- Knots did not fix anything. Everybody running Knots is storing all the data exactly as the people running Core or other implementations.

2- Even if every single node runner were running Knots, if ONE miner decides to take those transactions, the data would still be there.

3- Even if all miners ran Knots, the inscription pattern (called envelope) can trivially be adapted to bypass that filter.

blocking people from the github discussuion access is pretty average

if filters are useless then i guess we dont need to change the current op_return setting.

Always and in any case for freedom in any case. I'm with bitcoin core. And then the centralization of knots could lead to future problems. If someone paying wants to put a vagina in mempool put it on. What not? You can't block or obscure transactions even if they go to invalidate the traffic in blockchain 🤷‍♂️

nevent1qqsr8x55f542c2kg4w3h5r0zye28umf7v9rjclhjg8apskmu6ddn7lqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgdxugvt

More open all the life. The users will decide

I'm not sure I understand it enough. A few questions:

1. Do the NFTs add additional chain space over and above a standard transaction?

2. Are NFTs cheaper to deploy than a standard transaction ( on average? )

On a further note, spam is a subjective description, which is probably why some hate it, and others don't mind. For some, bitcoin usage, is bitcoin being used, so all good.

Depende cuánto pese el nft se paga la tarifa equivalente a eso

The intended purpose Bitcoin was built for was not to storeJPEGs, so it's not a matter of subjectivity. Those who want to put JPEGs on the blockchain, that's fine, go to eth or Sol.

Agree. We have tons of shitcoins for garbage like that

Understood. Still subjective though, surely?

Some would say who cares what the intended use was?

It's the same weird mindset that often says "Satoshi said X or Y"

Who cares - he left lol.

Look, I think NFTs are as retarded as the next man, and people do dumb shit every day. If they want to overpay just to put it on bitcoin, so be it in my opinion.

If they want to overpay for nfts, I couldn't care less either, but go do it on Eth and Sol, where the rest of the degens are. When they try to change Bitcoin so they can do it, then it's an attack on Bitcoin. We have to push back l. Hard! We should send a clear message, and make it as hard for them as possible. Not "whateves, it's their freedom".

There are many who thinks the war is won after a series of wins, but it's just getting started. Bad actors will find new and more insidious ways to attack Bitcoin, and this is precisely what I would do if I wanted to attack Bitcoin.

Agreed, changing bitcoin is one thing, but we aren't talking about that are we?

We are talking about people who do it as it is today, surely?

Been following this Bitcoin Core vs. Knots stuff…

Core is what most nodes run which is solid, but slow to respond to junk like NFTs clogging up the chain.

Knots is a version with filters. Blocks stuff like JPGs and ordinals. Maintained by one dev (Luke Dashjr).

The fight?

Core lets anything through if it pays. Knots says nah, that’s spam, even if it pays.

Some call it censorship. Others say it’s saving the network.

At the end of the day:

Core = open roads

Knots = cleaner roads

It’s about how you see Bitcoin.

Freedom or filters?

Your node, your rules.

nevent1qqsr8x55f542c2kg4w3h5r0zye28umf7v9rjclhjg8apskmu6ddn7lqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgdxugvt

I think I’m on team Knots from what you wrote. Thank you for the explanation.

No voy a criticar a nadie pero yo prefiero core, y no que 1 solo Dev pueda cambiar las reglas

Dependiendo de un equipo de desarrolladores conduce a la centralización. Necesitamos más opciones.

Quizás vengan más opciones de aquí en adelante

Ojalá pudiera ayudar. No tengo las habilidades.

Based upon what I'm reading, if Knots does not have the ability to stop spam and it will ultimately become more expensive due to spam than the answer is Core or the next bitcoin node software that solves this issue.

Just because your fence doesn't keep all the thieves out, does it mean you should just tear the fence down?

Maybe I didn’t understand correctly . If fence not only doesn’t keep out all the thieves but it cost me more to keep the fence up than the fence is more harmful than beneficial.

How does it cost more?

This is what I read. Please help me understand.

“If many nodes used Knots, spam would be more expensive, but it wouldn't disappear.”

Great reply. Wanting to learn more warms my heart.

More expensive for the spammer (in fees) not the node runner.

Thank you. I’m learning

It's saying that Knots makes spam more expensive for the spammer. Knots also lets you set your own policy to make it as expensive to them as you want for inclusion in your mempool, which has a slight effect that direction on the whole network.

not technical enough to get at all the second and third order consequences of the technical side of the debate

but seeing people (mechanic) get blocked from github for what looked like a very mild post is really disappointing

seeing the average response on nostr from the guy (lopp) the dude was critiquing was also disappointing

why did they block mechanic? did they undo that?

nostr:nevent1qqsr8x55f542c2kg4w3h5r0zye28umf7v9rjclhjg8apskmu6ddn7lqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgq3qyrffsyxk5hujkpz6mcpwhwkujqmdwswvdp4sqs2ug26zxmly45hsxpqqqqqqz42j0hw

Good breakdown. I think in the end of the day people are going to be and should rightly so, be able to choose whether they filter or not.

Running each as a client is optional or people with multiple nodes can run both. As you said, either way, if they are included in blocks, they are there.

There should be no need for any ‘side’ to FUD either way.

Without the extra drama it’s simple, the key thing is that overall Bitcoin stays open for a user to use it, hopefully non-destructively.

Some people may say, ‘those users abuse it’ or ‘those users want to control it’. Ultimately if there can be even consensus that there can be choice, without fork or destructive change, then that is #Bitcoin.

🫡🧡

not just spam, but Core devs do not believe users should have complete control of their node. here's some of the options knots has:

Si, pero vos entendés que knots tiene un dueño que es Luke? Todos los que usan knots dependen de 1 persona 🧐

the code is what matters. why are you worried about the author?

No we're not. If Luke does something controversial we'll not upgrade until something better comes along or choose something else. Choice is the important part here. Core wants to take that away from us.

The definition of "Spam" is simple. The intended purpose of Bitcoin is digital cash. Anything other than financial transactional data is considered spam, those who want to inscribe JPEGs on it should do it on Eth or Sol. The market has clearly spoken. Don't muddy the water by even arguing what constitutes "spam". Rhis is clearly an attack on Bitcoin.

Bitcoin is about voluntary choice. The spam is legitimate in a legal sense as it is voluntary and no one has the right to censor it, but you don't have to agree to having it on YOUR node in YOUR mempool. Bitcoin Knots. It's not censorship, it's just property rights.

Worth the read!

Trust me, but don’t, verify!

nevent1qqsr8x55f542c2kg4w3h5r0zye28umf7v9rjclhjg8apskmu6ddn7lqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgdxugvt

The title of the whitepaper clearly says cash and not "whatever you manage to put on it".

Exactly! It's not Ethereum!

It's knot even close. Knots or nothing

Osea querés depender solo de Luke, que mal

I never said I only rely on Luke. I've held Bitcoin for over 12 years and done more research on it than most ever will. In fact, since I retired on Bitcoin 6 years ago, all I do all day long is learn more about Bitcoin and financial markets and Luke is one of many of those sources

I think it's time for everyone to run their own nodes at this point so they can decide if they want to block spam or not individually.

Me encantaría que todos puedan tener su nodo, falta mucho para eso

Cellular nodes and its over.

Bitcoin Core VS Bitcoin Knots hightlights

nevent1qqsr8x55f542c2kg4w3h5r0zye28umf7v9rjclhjg8apskmu6ddn7lqpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgdxugvt

Ni uno ni el otro al 100% , me descargo el código fuente del Core, le aplico el parche de #ordisrespector, lo compilo le meto datacarriersize=0 + permitbaremultisig=0 y tu te quedas así 🫨 sintiendo como te rompen el culete y el sistema binario