The current debate between Bitcoin Core and Bitcoin Knots isn't a dispute over code. It's a battle over the essence of Bitcoin.
Bitcoin's cypherpunk origins prioritize a philosophy: individual sovereignty, resistance to centralized control, and the creation of sound money free from manipulation. Within that framework, code isn't simply a set of technical rules: it's an expression of principles. Philosophy must be reflected in the code.
Today, many Bitcoiners are observing that Core developers are straying from the underlying philosophy, either due to shifting priorities or external influences (I'm not saying they've been "bought off," but the concern exists). When some developers' goals change, it's natural for them to push for code changes that reflect their new position. And it's just as natural for the rest of the community to oppose changes that don't align with Bitcoin's original philosophy.
A Precedent
A paradigmatic precedent for this issue is the Blocksize War (2015–2017). During these years, the battle for the block size took place, a confrontation between those who wanted to increase the block size to allow for more transactions per second (which would result in a faster and more "useful" network) and those who advocated for keeping blocks small to preserve decentralization and the ease of operating full nodes. It was a dispute both technical and philosophical, where the real battleground was the purpose of Bitcoin and its governance.
The dispute ended in a fork: on one side, Bitcoin Cash (with larger blocks); on the other, Bitcoin, which maintained the 1 MB limit and implemented optimizations such as SegWit and the development of second-layer solutions like the Lightning Network. The important thing here is that the community has already experienced a collision that was not resolved by technical consensus, but by an ideological rupture. In many ways, the current conflict between Core and Knots repeats that dynamic: different visions of what Bitcoin should be. And when philosophical principles conflict, code can become the battleground. As it is happening now.
The Problem
The current discussion reflects a divide in the Bitcoin community that combines technical, philosophical, and political aspects. The Core/Knots debate focuses primarily on the purpose of Bitcoin and how the network should be managed, especially regarding the use of the OP_RETURN function and the handling of transactions considered "spam."
For Knots proponents, Bitcoin is not a "catch-all" innovation layer, but rather a monetary system that should be kept as simple and robust as possible. Core, on the other hand, adopts a very different philosophy: "This is how the network is being used, and we can't prevent it, so it's best not to put up artificial barriers." The problem is that Bitcoin Core is the reference Bitcoin client, used by the majority of the network's nodes (currently 87%).
Bitcoin Knots (13%) shares most of the Core code, but introduces additional configurations that give users greater control over node policies, such as stricter transaction filters. Knots seeks to preserve the efficiency and decentralization of the network, prioritizing its monetary use over other uses.
The Core of the Discussion
The technical core of the discussion revolves around the OP_RETURN function, which allows arbitrary data to be embedded on-chain (e.g., metadata, images, or tokens). Bitcoin Core limits (limited) OP_RETURN to 80 bytes per transaction, while Knots is more restrictive, with a 42-byte limit and filters to reject transactions considered "spam" (such as tokens or non-monetary data). But Bitcoin Core 30 removes that limit, allowing OP_RETURN with more than 80 bytes (theoretically up to 4 MB of data, the overall block size limit). Additionally, it relaxes relay and mempool policies, removing restrictions that previously helped filter out what was considered "spam." While the consensus limit prevents multiple OP_RETURN outputs or arbitrary sizes, removing restrictions on relay policies opens the door to transactions with large amounts of embedded data. This led to accusations from Knots that Core was opening the door to non-monetary uses and potentially abusive transactions that saturate the network.
The change promoted by Bitcoin Core sparked a fierce controversy. Core proponents argue that the current restrictions are ineffective, as users evade the limits using alternative methods (such as Ordinals or Runes protocols). Therefore, according to some Core developers, removing the limits reflects the real uses of the network and does not compromise its functionality as money. Other Core developers disagree with this view and are switching their nodes to Knots (at least 900 have already done so).
Bitcoin Knots proponents (led by Luke Dashjr) believe that allowing excessive on-chain data goes against Bitcoin's original purpose as "peer-to-peer electronic money." Although Dashjr is a controversial figure, he represents the last line of defense against what is considered a dangerous deviation from the original philosophy. Knots seeks to prioritize monetary transactions, limiting the use of the network for other, unwanted uses. Unlike Knots, Core's removal of restrictions increases node storage requirements, harming network decentralization (as nodes become increasingly expensive to operate) and inevitably reminding us of the Blocksize War.
Knots' Growth
The Knots node growth statistic is very powerful. This is because it is not just a technical movement, but a political and philosophical response from node operators. This circumstance breaks with the idea that "Core is unquestionable."
What are the reasons for the large (and increasingly accelerated) migration to Knots?
1. Many node operators believe that Bitcoin should be exclusively a monetary system, not a database for NFTs, tokens, or other uses. Knots allows users to filter transactions they consider "spam," aligning with this vision.
2. Knots offers advanced configurations, such as stricter OP_RETURN limits, rejection of low-value transactions ("rejectparasites"), and custom relay policies, giving operators greater control over their nodes.
3. Bitcoin Core's decision is considered controversial and unpopular among node users. It has also been perceived as opaque or even influenced by external interests (the OP_RETURN change was proposed by Peter Todd with support from figures linked to Chaincode Labs, fueling perceptions of corporate influence). This has generated significant distrust.
4. Core's technical centralism is criticized. Its developers are perceived as a technocratic elite who dismiss the philosophical concerns of node operators.
5. The use of Knots is considered a factor in strengthening the network by reducing its dependence on a single client (Bitcoin Core). While Knots' dependence on a single developer (Luke Dashjr) was initially questioned, it's now clear that more and more contributors are joining the project. Added to this is the fact that Knots continues to share the bulk of the Core code, in which the Knots developer actively participated.
6. Knots defenders argue that Core imposes policies that restrict user freedom. While some Core users view Knots filters as a form of censorship. In other words, what some see as censorship is freedom for others: The truth is that Knots does not impose filters on the network, but rather provides tools for each node to define what it accepts or retransmits.
All of this has resulted in a significant increase in the number of Knots nodes (222 Oct. 2024 → +2,800 Jun. 2025), indicating a clear rejection of Core updates. The upward trend continues and has currently accelerated.
Conclusion
As stated at the beginning, the discussion between Bitcoin Core and Bitcoin Knots is not only technical, but also philosophical. The crux of the matter is whether Bitcoin should be solely a monetary system or also a platform for arbitrary data. Knots followers advocate a purist approach that prioritizes decentralization and monetary efficiency. And what I'm observing is that Core developers are hiding behind technical issues to avoid the controversy that has arisen (or hide their true intentions). They dismiss the philosophical concerns of Bitcoin node users and pose as a technocratic elite that evades a fundamental circumstance: philosophy guides the code, not the other way around. The code must be linked to principles.
When the code is not aligned with the principles, it loses its essence. And this is very dangerous, because if the project's philosophical vision strays from its roots, the disagreement becomes a fight for the project's soul. The Core/Knots tension relates to the essence of Bitcoin. The underlying argument isn't a technical one, but a philosophical one. And if the block size conflict taught us anything, it's that when that vision breaks down, consensus breaks down and the community is redefined.
In that context, the role of mining cannot be ignored. Bitcoin Core maintains that miners should be neutral and accept any valid transaction that pays a fee (or, at least, does not restrict the type of data by design as long as the transaction is valid and pays a fee). But recent experience with protocols like Ordinals and Runes has shown that economic incentives can lead miners to fill blocks with arbitrary data, even if it harms users who simply want to use Bitcoin as money. Ordinals brought with it an avalanche of "signups" that raised fees to absurd levels, displacing monetary transactions. Runes, on the other hand, allows for massive token issuance, without the need for OP_RETURN, but with similar effects: saturated blocks and nodes under pressure. These tools demonstrate that, although the base protocol was not designed for this, the network can be diverted from its original purpose by economic incentives. And this reignites the conflict.
Knots positions itself as a tool to rebalance this mining power. It gives node operators tools to filter out transactions they consider harmful or unwanted. This is not about network-level censorship, but about local sovereignty. Each node decides what to retransmit and what not. In other words, it allows node operators to defend themselves. Ultimately, it is a way to preserve the monetary nature of Bitcoin against parasitic uses incentivized by speculation and tolerated by supposed neutrality. So we come back to where we started: the argument between Core and Knots is philosophical. Ultimately, it's about who decides what Bitcoin is and, more importantly, whether we're willing to defend our vision of Bitcoin.