The debate over filters and Core vs Knots continues to burn. This was one of the first Bitcoin technical debates that I dug into, and it didn’t seem like something that would last long. Instead it’s created a strong meta narrative that seems to be larger than the original issue. No one asked, but here's my take: we all want a strong Bitcoin. It currently has problems that prevent it from achieving the goal of being a global peer to peer electronic cash. People are trying to scale it with side chains. To defend privacy with obfuscation. To improve efficiency with various forms of batching. Lots of people doing lots of different things, but all with the same purpose of making Bitcoin strong.
Now not all of these initiatives are equally well founded, but there's no king choosing which live and which die. And there's a lot of them, so it's easy to get lost in the complexity. I think the way to approach things is to keep things as simple as possible, and to make the strongest arguments for or against ideas. If you like something, work on making the best possible argument for it. If you think something is wrong, first construct the best argument for it, and having that, make the best counter-argument against it.
As far as I can tell, side-chains and inscriptions are flawed ideas. They fail to scale, and introduce points of trust that will someday fail. And yet, I argue against filters. Not because I like "spam", but because a good engineer is a slave to physics. They approach problems with Toyota's seven why's. From my analysis, there are three things driving the filters crowd: a concern for the underdog node runner, a distrust of others (especially those well funded), and a desire for focus and purity.
Let me start with the last: this is indulgent bullshit. The only parts of life that are simple and pure are either naive or dishonest. Everyone has a desire for honest simplicity, but as we grow it should become obvious that this doesn’t reflect reality. Life is messy, and we do what we can to keep the signal above the noise. But strength doesn't come from making everyone else weak. I don't think this moralism is central to the "filters" camp, but it comes up frequently and doesn't strengthen the argument.
Second, defending the small node runner. This would be the strongest argument, except that it's a strawman. You can run a full node on remarkably little hardware. Certainly less than $100. I've been running bitcoind, electrs, lnd, tor, and albyhub on a Raspberry Pi 5 with 8GB RAM and a 1TB M.2 drive, and it uses 1% CPU and less than 2GB of RAM. With only 1TB you now need to enable pruning, but this still performs full verification and participates in mempool. But somehow, people are having a hard time with significantly more hardware… why is that? It doesn’t seem inherent to running Bitcoin.
And lastly, distrust. To me this is the strongest argument, but not for filters per se. Filter’s are useless because they’re just a pre-screen for consensus. Sure, they’ll keep some things out of your node’s mempool, but that’s far less than 100MB and obfuscated in memory to avoid being a way to send you illegal bytes. You’re still going to get random things in blocks unless they’re priced out by financial transactions. Every node runner signs up to store full blocks. If some are partial, sure you get by with a little less storage, but no one wants this. Someone who doesn’t want spam in blocks needs only to fill them with other transactions. But that’s getting kind of pricey these days. It’s much easier to just not care about it, and work on encouraging more people to put their own transactions on the chain by adopting Bitcoin. If you still care deeply about it, you need be talking about changing consensus rather than playing with filter toys.
Distrust is the strongest argument because it is central to the philosophy of Bitcoin. If there is a way to work together without trust, we should always prefer this because that’s the value that we get from Bitcoin as a whole. The best argument for running Knots is that it’s good to have more than one implementation out there. The problem is that Knots isn’t the same quality as Core. It’s just a hacked up fork of Core, and is in fact maintained by one guy. Sure, you can point to some other people who have signing keys in the system, or may have fixed a bug one time, but Knots is to Core what a raft is to a battleship. There are a lot of people working on Core. There are definitely internal politics. You might not agree with all of their decisions, and if you’re of the pirate mineset they look an awful lot like the Navy. Distrust is who Bitcoiners are, and it’s not inherently a bad thing.
The problem is that Bitcoin has strong, well organized, and well funded adversaries. Adversaries that have literal navies, and intelligence agencies. To choose the raft is your right, but consider the environment. The filters crowd think that their opposition is Core, but Core sees the opposing fleet just over the horizon. As a pirate on a raft you may feel free, but looking at the field you are only free in the way that ants are free - as long as you are inconsequential. Strong words said not to diminish, but hopefully to inspire.
I once said that Bitcoiners are bringing machine guns to a naval battle. A machine gun is powerful - by far the most violent thing a civilian is likely to see. But it’s also inconsequential in an environment where an adversary that you can’t see can put ordinance on your welcome mat. Resisting this level of force requires a lot more strength than pretending filters work, or running software with a weak supply chain. It isn’t something that any individual can approach in a straightforward manner. It’s easier with vast physical resources and strict hierarchy, but that isn’t who Bitcoiners want to be.
I'm not asking that people put down Knots and join the Core navy, but that they at least recognize what’s going on here. That we should anticipate the technical, financial, and legal equivalents of stealth bombers and cruise missiles. For decades there were rumors that agencies like the NSA had broken cryptography and were collecting everything on the Internet. It didn’t seem impossible, but people just wanted to go about their business. Without evidence the people who wanted to defend against this had a hard time, even though it was clearly possible. It wouldn’t surprise me if some of them got tired of pushing the rock uphill and just joined the other side. Then came Snowden, and it was suddenly obvious to everyone that these things were really happening. But it didn’t need to be a surprise. It wasn’t a surprise to the people who had been thinking about it.
If you are a maxi who thinks Bitcoin is going to take over the world, you owe it to yourself to take a step back and consider the magnitude of what that means. The news tells us that politicians are crooks and liars, but implies that they are also fools. Is that more true, or more convenient? When powerful people do things seemingly against their own interest, is that because they made a mistake, or because you don’t fully understand what’s happening? Reading history in depth often tells a very different story than one gets by taking points at face value. It usually takes a long time for evidence of the most important details to come to light, so what happens in the interim? Do we hope for the best, or prepare for the worst?
Bitcoin doesn't win by being pure or chaste, it wins by being strong. Strength is not a simple attribute, but a recognition and opposition of conflicting forces. The strongest forces often look the weakest, or if they can swing it, absent altogether. So we need to be somewhat creative in anticipating what form they will take, though history provides a wealth of examples. By itself fixing the money does not fix the world - but maybe it makes fixing it ourselves possible.
onward.