#Bitcoin Knots critique by nostr:nprofile1qqs936kc97s4k4gqjnmltljgqns0uadh08d77t5mypg3anxkneks37gpzamhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuegpz4mhxue69uhkummnw3ezumtfd3hh2tnvdakqx3v2gk largely mirroring my own:

"There seem to be a lot of misunderstandings about the tradeoffs and risks of running Knots instead of Bitcoin Core, so I'll try to dispel as much as I can.

If you want to make a well-informed decision before deciding to migrate to Knots, start here!

Don't run code blindly, even open-source code!

As Knots has not been widely used and has little to no developer base outside of Luke Dashjr, you should be very cautious when switching to it instead of Bitcoin Core. If you can't vet the code yourself, I'd recommend waiting for others to do so before making the jump.

Knots is still 99.999% Bitcoin Core code

Knots isn't an alternative client for Bitcoin (like btcd or libbitcoin) and is instead a minor code fork of Bitcoin Core. It relies almost exclusively on the upstream Bitcoin Core repository for bug fixes, vulnerability fixes, improvements, etc. Luke Dashjr applies his own preferred patches on top of that base, often of PRs that are yet to be merged (or won't be merged) into Core as he sees fit.

This means that you're reliant on Luke to keep up with Core to avoid your node being vulnerable to attacks. In a quick check of Bitcoin Core vs. Knots release timing, Knots usually lags anywhere from 1wk to 3mo behind Core.

Knots relies on a single maintainer

Luke Dashjr has complete control of the Knots repo on Github, and is the sole maintainer, meaning he merges whatever he sees fit into Knots without peer review. If you take a few minutes to look at the repo, you'll notice no pull request has ever been merged by an outside contributor, he has disabled any contributor tracking, and the vast majority of commits to the default branch are by Luke.

This places immense trust in Luke as an individual, as any mistake or malicious action on his part can happen without anyone else having any say or putting any eyes on the code. If you can't validate the code yourself, you're blindly trusting one individual with your view into the Bitcoin network.

Luke Dashjr has a terrible security track record

Along those same lines, Luke as the sole maintainer is terrifying to me. He has a poor track record of security practices, including leaking his GPG key (used to sign previous commits and releases) and leaving hundreds of Bitcoin on a hot wallet on a server instead of properly securing them offline.

Make of that what you will.

Knots still validates and stores all spam

If a transaction is valid under consensus rules and mined by any miner into a valid block, Knots will necessarily still validate all spam transactions and store them locally. By running Knots you are not rejecting any spam on-chain or on-disk, and are absolutely still storing Inscriptions, jpegs, OP_RETURNs, etc. on your hard drive forever.

The only place Knots may differ from Core is in the mempool, something that merely harms your fee estimation as you won't see transactions that may actually make it into blocks until they're mined.

Still want to run it? More power to you.

While I absolutely would not recommend running Knots, if you read and understand the above points and still choose to run Knots, more power to you. One of the beautiful things about a permissionless network like Bitcoin is no one can stop you from running whatever client you want, as long as it abides by consensus rules.

The only positive I see in growing Knots adoption would be if more devs and security researchers take the time to look through the diff between Core and Knots and find bugs and vulnerabilities that apply to both (and then responsible disclose them). That could be beneficial to the entire ecosystem, so I'm curious to see if that unfolds.

If I've missed anything or you have any addition questions, please don't hesitate to chime in!"

https://x.com/sethforprivacy/status/1920871546437943683

Reply to this note

Please Login to reply.

Discussion

Thanks for sharing Laser!

Very well explained

Luke appealed to the FBI on twitter for help after the bitcoin "theft" a few years ago.

Yada yada yada... here we are!

Stay vigilant & diligent.

nostr:nevent1qqsvta7qy6urwpt7qatz25uc947js4fd2qfm5vla50nv50flkccy5qspz4mhxue69uhkummnw3ezummcw3ezuer9wchsygp4dp6ll4efkphwknqa0fc2ra6sq3wsvam56gwqltl7ftetl94zaqpsgqqqqqqsjw6dcs

I agree, but hate the idea of "It's Core or nothing"

Reality is: it's a rock and a hard place moment we find ourselves in.

Core supporter's main argument even is dumber tho. "If you use one main project, instead of ours, you're supporting centralization". Really sure if a solid and well maintained alternative comes along, they'll come up with something as stupid as this argument.

Its not Core vs Knots, its Core V-1 vs Core V+1. I don't plan on upgrading.

Not upgrading won’t solve anything. Core pre v.25 has a critical bug (CVE-2024-35202). Core past v.25 has another critical bug (CVE-2023-50428) that allows attackers to inject arbitrary data and bloat to UTXO set. Core after v. 29 will still maintain the latter exploit and on top of that will have unlimited sized OP_RETURNs that create another usecase for block space in direct competition with monetary demand. I mean I don’t know how bad things should take for people to realise we have really serious problem here and the ship’s captains are trying hard to sink the ship with us on it.

A major vulnerability has been exposed. Now we watch "anti fragile" go to work. This will be fascinating to behold!

Even if you agree 100% with this critique, the risk for a mining node (no hot wallet, no other applications) is very small. The worst case is basically needing to reinstall (optionally switching to Core), which I can do in minutes (and while my miners fall back to another server/pool).

The benefits of running Knots are also greater for miners.

IMHO, every miner should be running Knots. And, of course, we should be supporting development of Knots.

Shitscammer who wants shitcoins on Bitcoin.

Filters do work!

Full stop.

That's why shitcoiners and scammers are trying to spread confusion to see if the narrative changes.

Your intentions are clear, and you're not fooling anyone.

This part, while technically accurate on the surface, completely misses the forest for the trees (whether intentionally or not) and ends up gaslighting you into thinking that running Bitcoin Knots makes no difference, and only increases your risk. That’s not true at all.

First of all, spam transactions that end up in mined blocks will inevitably land in your node’s memory, whether you’re running Knots or Core. But Knots gives you the ability to filter out spam at the mempool level, reducing propagation across the network. This matters. If a spam transaction gets relayed by 90% of nodes, there’s a 90% chance it ends up in a block. If you cut that propagation down, you reduce its likelihood of making it on-chain and getting stored forever. It’s simple math and common sense. Currently the datacarriersize filter is STILL BROKEN and in Core and this is precisely why so many spam gets through in blocks. The people that you make excuses for are the reason why any attempts for fixing it get SHELVED!

Second, let’s talk about the implied competence argument. Luke Dashjr’s screw-up with his coins was entirely on him — no excuses. But let’s not pretend the rest of the Core maintainers have spotless records.

Peter Todd? He accidentally leaked personal IDs, passwords, and private correspondence in a massive email failure.

Gloria Zhao? Still insists that rewriting documentation is an acceptable way to fix bugs.

Gavin Andresen? Got fooled by Faketoshi of all people.

Jameson Lopp? Got doxxed and swatted after failing basic opsec.

The big difference? Luke actually has a track record of saving Bitcoin — repeatedly — during real crises. None of the others can say the same. If anything, Luke deserves more trust than the current batch of Core devs, many of whom have questionable affiliations or undisclosed conflicts of interest.

“If a spam transaction gets relayed by 90% of nodes, there’s a 90% chance it ends up in a block. If you cut that propagation down, you reduce its likelihood of making it on-chain and getting stored forever. It’s simple math and common sense”

I sort of take issue with this statement. The percentage of nodes relaying really has a marginal effect on it eventually getting into a block.

Miners peer with a large number of well connected nodes to get the txns to mine.

It’s almost a reverse type of graph of probability. Unless you have like 95+% of nodes running filters, the txns gonna make it to the miner and get mined.

If bitcoin is designed to escape the great firewall of china then it is designed to route around your filters.

I understand what the quote is saying but it doesn’t actually reflect today’s reality.

The only nodes whose mempool matter for getting into a block are miners mempools. And currently there are very few pools, and therefore very few mempools that matter.

As long as the transaction can get to one of those ~15 or so mempools, via any circuitous route or directly, it will be mined.

That’s complete bonkers and if it was true then there is no usecase for non-mining nodes on the network and 95 000 noderunners somehow got psyoped into doing the most stupid thing. It also makes this whole debate meaningless.

It’s not bonkers, and it doesn’t invalidate the reason to have non-mining nodes.

Non-mining nodes hold and propagate YOUR OWN txns to the wider network, and it validates blocks so the user knows the accurate state of the network.

Running your own node is great, even if it doesn’t mine.

If your tx is non-standard and only a small subset of nodes accepts it, its propagation is severely limited. That drastically reduces its chances of reaching any miner, unless a miner is explicitly accepting or directly given the tx. That’s why out of 7 million standard op_return txs in 2025 only 30 are non-standard. You can verify this. This’s why Ordinals have to rely on alternative node software (like Libre) or private miner deals (Slipstream) in case the broken datacarriersize gets fixed someday and they no longer can fool nodes to be recognised as standard. Nodes don’t just serve as a private pleb relays or balance checkers. They have security purposes in the policy part where they can be reactive in situations that are precisely as the current one. Bitcoin has a rich history of spam attacks and many of them have been mitigated by making swift changes to policy.

Filters on Knots will only strengthen the alternative p2p networks which relay non-standard. Bitcoin is censorship resistant! That transaction just has to get to one mempool to get mined!

The only solution would be to fork a change making the datacarrier size a consensus rule.

Also though, what historical precedent of policy are you referring to? I only can point to something like satoshi dice spam which wasn’t solved by policy but just being priced out.

> That transaction just has to get to one mempool to get mined!

Ok, sure. Let’s test how easy (and cheap) is to send a non-standard tx to one miner mempool and get it into a block, when there is a reliable policy filter involved.

Send 100 sats to this address: bc1q64npl22z0pxf4lg303wctfxq3tdjf8zd9txcnn

Then post the ID from the block explorer. Let’s see the outcome.

> Filters on Knots will only strengthen the alternative p2p networks which relay non-standard.

This contradicts the common narrative that filters don’t work. If filtration will strengthen the spammers p2p networks, then they must do a decent job of what they’re made to do. So do they work, or not? Even if the private accelerators get a few more private deals, I thought your camp is pretty on board with miners making extra bucks because that’s “iNcEntIVe COmPaTiblE”. What I don’t get is why we bitcoin users should start suddenly negotiating with terrorists when during the entire history of Bitcoin we have always discouraged and fought arbitrarily data on the blockchain?

My camp lol I’m just here explaining how I understand thing

Well you’re parroting their gaslighting talking points 1:1 so pardon my confusion.

I don’t think it’ll get to the point where they’ll need alternative p2p networks.

Yeah, with cuck developers at the helm, who needs enemies.

I’m working on it lol I have to ask somebody how

If you have to ask somebody how, it means it’s not trivial to do it.

I bet more then 70% of new knots runners didn't know about the part "still storing spam"

I bet they do. This debate is going on for 2 years already. Unless they were hiding in a cave, they should have heard that argument.

🎯

Luke has said several times that he's not the only one working on Knots, and that he would like more developers.

We should support this.

Please share links to commits from developers other than Luke that werent simply rebased from Core's repository.

Filters do work!

Full stop.

That's why shitcoiners and scammers are trying to spread confusion to see if the narrative changes.

Your intentions are clear, and you're not fooling anyone.