I dislike spam in Bitcoin, but relay filtering is symbolic unless miners enforce it. Nodes dropping txns doesn't prevent inclusion; direct submission bypasses relay. Is there any real change possible here without a consensus rule change? Answer: No.
As long as a transaction is valid by consensus rules, any miner can include it. That’s Bitcoin’s anti-censorship design working as intended.
Relay filters might save some bandwidth or express disapproval, but they don’t stop data from being mined. At best, they delay it. At worst, they centralize incentives.
To truly prevent a class of transactions (e.g. spam, inscriptions, BRC-20…), you’d need to change the consensus rules — i.e. redefine what is valid. But that would require a hard fork.
Bitcoin's neutrality means it doesn’t care why you're transacting. If it’s valid, it’s valid.
Relay filtering policies only provide the illusion of control. Without miner enforcement or consensus change, they won’t fix the problem.
TracaChang
If you are using nix-bitcoin and want to run the latest version of Bitcoin Knots, you will need to install it from the unstable branch.
Edit the file configuration.nix and add
--------------------------------
services.bitcoind.package = let
pkgsUnstable = import (builtins.fetchTarball {
# nixpkgs-unstable as of 2023-12-12
url = "https://github.com/NixOS/nixpkgs/archive/f63e74871f46b4bad723740799298aca7416511c.tar.gz";
sha256 = "06hnc0bmpz8y95r59hpzfv0czwka6vxld6a28vazggdyhr1f4d27";
}) {};
in
pkgsUnstable.bitcoind-knots;
----------------------------
This example is for v28.1.knots20250305. To use a newer version, update the url and sha256 fields as follows:
1. Go to and search for bitcoin knots, then click on the source link.
2. Find the latest commit and click on it (for this example f63e748).
3. The commit hash will be part of the URL. Use it to construct the tarball URL: .gz
For this example: f63e74871f46b4bad723740799298aca7416511c
4. Run nix-prefetch-url --unpack .gz to get the SHA256.

NixOS Search
2. Find the latest commit and click on it (for this example f63e748).
3. The commit hash will be part of the URL. Use it to construct the tarball URL: .gz
For this example: f63e74871f46b4bad723740799298aca7416511c
4. Run nix-prefetch-url --unpack .gz to get the SHA256.
