The pattern is clear: centralisation advances with every crisis. Here are concrete steps to fortify your sovereignty, your infrastructure, and your node in uncertain times.
August 18, 2026 | By Omar-VgWs
bitcoin.conf)
Whatever the situation presenting itself today βpolitical, economic, regulatory, or socialβ the diagnosis is relatively clear for those who observe carefully: individual sovereignty, genuine civic participation, and support for decentralisation are under siege.
The free individual, financial peace, the ability to decide over one's own assets without coercive intermediariesβ¦ all these principles appeared vulnerable. And, as occurred during the COVID season (2020β2023) βwhen the health emergency served as a pretext to restrict fundamental liberties and accelerate centralised controlβ that perceived βvulnerabilityβ was exploited. The excuse changes; the mechanism remains the same.
Now, those very pillars are being assailed head-on.
Recognising the pattern is the first step towards responding with intelligence:
The lesson of 2020β2023 is valuable and clear: what you defend in calm times, you preserve in times of urgency. What you neglect, is taken from you.
Faced with this landscape, the diagnosis finds its purpose when translated into action. Below, I share a series of adjustments and procedures so that you may strengthen your node βyour space of autonomy, your personal infrastructure, your sphere of sovereign decision-makingβ to the extent that is possible.
For those who run their own node and wish to bring these principles into concrete infrastructure, I share two specific breakdowns depending on the configuration you use.
Below, is the consolidated summary of every adjustment applied to Bitcoin Core with the objective of focusing your node exclusively on Bitcoin as sound money, rejecting the propagation and storage of non-monetary noise.
An individual node cannot prevent miners from including inscriptions in blocks, but it can ensure that your node does not propagate, does not prioritise, and does not store that type of data. This reduces your exposure to spam and improves node efficiency.
| # | Setting | Action | Final Value | Rationale |
|---|---|---|---|---|
| 1 | Relay OP_RETURN Transactions | β DISABLE | false |
The most critical adjustment. OP_RETURN is the primary vector for inscriptions (Ordinals), on-chain NFTs, token metadata (BRC-20, ARC-20), and arbitrary blockchain messages. Disabling it means your node ceases to retransmit these transactions. |
| 2 | Max OP_RETURN Size | β MAINTAIN | 83 bytes |
Limits the maximum size of OP_RETURN data your node will accept. |
| 3 | Max Mempool Size | β REDUCE | 100 MiB |
Restricts the space available for large transactions (typical of inscriptions). 100 MiB is sufficient for normal personal use. |
| 4 | Blocks Only | β DISABLED | false |
Allows receipt of mempool transactions (not only blocks). |
| # | Setting | Action | Final Value | Rationale |
|---|---|---|---|---|
| 5 | Database Cache | β CONFIGURE | 5000 MiB |
Optimal for 16 GB RAM (~31%). Improves validation and queries, leaving ~11 GB free for the system and other services. |
| 6 | Database Batch | β INCREASE | 67108864 Bytes (~64 MB) |
More efficient disk writes β fewer I/O operations β greater SSD longevity. |
| 7 | Use V2 P2P Transport Protocol | β ENABLE | true |
Encrypts inter-node communication (BIP324); more efficient and modern. |
| 8 | Onlynet | β MAINTAIN | onion (Tor) |
Maximum privacy. Tor connections only. |
| 9 | Work Queue | β INCREASE | 256 requests |
Improves capacity to handle multiple RPC connections (LND, BTCPay, Fulcrum). |
| 10 | Threads | β MAINTAIN | 16 threads |
Appropriate for the hardware. |
| 11 | RPC Server Timeout | β MAINTAIN | 30 seconds |
Suitable standard value. |
| # | Setting | Action | Final Value | Rationale |
|---|---|---|---|---|
| 12 | ZeroMQ Enabled | β ENABLED | true |
Critical for Lightning (LND). Real-time notifications of blocks and transactions. |
| 13 | Transaction Index | β ENABLED | true |
Essential for Lightning, wallets, and BTCPay. Enables lookup of any transaction by TXID. |
| 14 | Coinstats Index | β DISABLED | false |
Consumes unnecessary resources. Only useful for specific UTXO set queries. |
| 15 | Pruning | β MAINTAIN | 0 MiB |
Full node without pruning. Maximum security and validation. (2.88 TB free space available.) |
| 16 | Serve Bloom Filters (BIP37) | β DISABLED | false |
BIP37 is vulnerable to DoS attacks. Electrs/Fulcrum already provide efficient filters (BIP158). |
| 17 | Persist Mempool | β ENABLED | true |
Recovers transactions after restarts. |
| 18 | Avoid Partial Spends | β ENABLED | true |
Improves privacy. |
| 19 | Compute Compact Block Filters (BIP158) | β ENABLED | true |
Required for SPV wallets. |
| 20 | Download UTXO Snapshot (assumeutxo) | β DO NOT USE | β | Do not enable if the blockchain is already synchronised. May compromise full validation. |
| 21 | Enable IPC | β DISABLED | false |
Not required unless local services need a Unix socket. |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BITCOIN CORE 31.1 β MONETARY NODE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β π« ANTI-SPAM: β
β β’ Relay OP_RETURN: OFF β
β β’ Max OP_RETURN Size: 83 bytes β
β β’ Max Mempool: 100 MiB β
β β
β β‘ PERFORMANCE: β
β β’ Database Cache: 5000 MiB β
β β’ Database Batch: 64 MB β
β β’ Work Queue: 256 requests β
β β’ V2 P2P Transport: ON β
β β
β π PRIVACY: β
β β’ Onlynet: onion (Tor only) β
β β
β π LIGHTNING-READY: β
β β’ ZeroMQ: ON β
β β’ Transaction Index: ON β
β β’ BIP158 Filters: ON β
β β
β ποΈ WITHOUT EXCESS: β
β β’ Coinstats Index: OFF β
β β’ Bloom Filters (BIP37): OFF β
β β’ Pruning: OFF (full node) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Benefit | Detail |
|---|---|
| π― Rejection of inscriptions/NFTs | Does not propagate arbitrary OP_RETURN data |
| β‘ High performance | Cache optimised for 16 GB RAM |
| πΎ SSD longevity | Larger batch size = fewer writes |
| π Maximum privacy | Tor connections only |
| β‘ Stable Lightning | ZeroMQ + txindex + BIP158 enabled |
| π§Ή Efficient resources | No unnecessary indexes |
| π‘οΈ Security | Full node, no pruning, no assumeutxo |
This configuration is 100% compatible with version 31.1:7. The update includes:
-privatebroadcast β enhanced privacy over TorNo additional adjustments are required following the update.
Below, is the consolidated summary of every adjustment applied to Bitcoin Core 31.0.0 on Umbrel (8 GB RAM / 2 TB SSD) with the objective of focusing your node exclusively on Bitcoin as sound money, rejecting the propagation and storage of non-monetary noise.
An individual node cannot prevent miners from including inscriptions in blocks, but it can ensure that your node does not propagate, does not prioritise, and does not store that type of data. This reduces your exposure to spam and improves node efficiency.
| # | Setting | Action | Final Value | Rationale |
|---|---|---|---|---|
| 1 | Relay OP_RETURN (datacarrier) |
β DISABLE | 0 |
The most critical adjustment. OP_RETURN is the primary vector for token metadata, stamps (SRC-20), runes, and similar "non-monetary data" protocols. Disabling it means your node neither accepts nor propagates those transactions. |
| 2 | Relay Bare Multisig (permitbaremultisig) |
β DISABLE | 0 |
"Bare" multisig is used to embed arbitrary data on-chain. Disabling it restricts another vector of non-monetary spam. |
| 3 | Max Allowed Size of Arbitrary Data (datacarriersize) |
β¬ INERT | (83000 by default) | Only takes effect when datacarrier=1. With datacarrier=0, it becomes irrelevant. Should you prefer an intermediate stance, the classic value would be 80 bytes. |
| 4 | Maximum Mempool (maxmempool) |
β MAINTAIN | 300 MB |
A good balance for 8 GB RAM. During spam/inscription storms, it caps your RAM and CPU exposure. |
| 5 | Min Fee to Relay (minrelaytxfee) |
β οΈ OPTIONAL | Default (0.1 sat/vB) or 1β2 sat/vB | Makes witness-embedded inscriptions (ordinals) more costly when the mempool is empty. Raising it is the only partial means of slowing ordinals, since they do not use OP_RETURN but rather the taproot witness. |
| # | Setting | Action | Final Value | Rationale |
|---|---|---|---|---|
| 6 | Cache Size (dbcache) |
β MAINTAIN | 450 MiB |
With 8 GB RAM and other apps running (Electrs, Mempool), do not inflate it. Raise to 1024β2048 only during a reindex. |
| 7 | Prune Old Blocks (prune) |
β MAINTAIN | 0 GB |
With 2 TB, full chain: maximum sovereignty, zero prune/re-download cycles (better for the SSD). |
| 8 | Transaction Indexing (txindex) |
β ON (final decision) | 1 |
Initially recommended OFF, but upon confirming the future use of LND, it was left ON because LND requires txindex=1 to function correctly. |
| 9 | Persist Mempool (persistmempool) |
β ON | ON |
Recovers transactions after restarts. Write cost only on restarts. |
| 10 | Memory Expiration (mempoolexpiry) |
β MAINTAIN | 336 h (14 days) |
Tested and stable default. |
| # | Setting | Action | Final Value | Rationale |
|---|---|---|---|---|
| 11 | Peer Bloom Filters (BIP37) | β DISABLE | OFF |
BIP37 carries DoS and privacy risks; it is not recommended. |
| 12 | Peer Block Filters (BIP157) | β DISABLE | OFF |
If you are not serving BIP157 light clients, you save writes and several GB of indexing. |
| 13 | Block Filter Index | β DISABLE | OFF |
Dependent on the above. Switch it off after disabling Peer Block Filters. |
| 14 | Outgoing Peers | β Clearnet + Tor ON, I2P OFF | β | I2P provides very few peers and adds latency. Tor preserves privacy. |
| 15 | Clearnet over Tor (proxy) | β OFF | OFF |
Routing everything through Tor noticeably degrades performance. |
| 16 | Incoming Peer Connections | β OFF | OFF |
Saves bandwidth and CPU. |
| 17 | Max Peer Connections | β MAINTAIN | 125 (default) |
Works well with 8 GB. |
| # | Setting | Action | Final Value | Rationale |
|---|---|---|---|---|
| 18 | Public REST API | β OFF | OFF |
No authentication = DoS/privacy risk. |
| 19 | IPC Mining Interface | β OFF | OFF |
Only required if mining with Stratum V2. |
| 20 | RPC Work Queue | β MAINTAIN | 128 (default) |
Sufficient for personal use. |
bitcoin.conf)# ===== Monetary focus: restrict non-financial data (relay policy) =====
datacarrier=0 # Do not relay OP_RETURN (tokens, metadata, stamps)
permitbaremultisig=0 # Do not relay bare multisig (another data vector)
# ===== Optional: make witness-embedded inscriptions (ordinals) more costly =====
# minrelaytxfee=0.00002 # 2 sat/vB (unit in conf is BTC/kvB)
# incrementalrelayfee=0.00002
| # | Warning |
|---|---|
| 1 | This is relay policy, not consensus. Your node will continue to validate blocks containing inscriptions (miners decide what enters the chain); your node will simply cease to propagate them actively. Your wallet and apps will function as normal. |
| 2 | Ordinals do NOT use OP_RETURN; they embed data in the witness (taproot). Standard Bitcoin Core cannot block them entirely; raising minrelaytxfee only makes their creation more costly. datacarrier=0 does halt OP_RETURN-based protocols (runes, stamps, token metadata). |
| 3 | datacarrier=0 also affects your own transactions containing OP_RETURN should you issue them from your node. |
| 4 | If you raise minrelaytxfee, also adjust incrementalrelayfee, and bear in mind that during periods when the mempool is empty, your node will not relay transactions below that threshold. |
| 5 | Upon saving, Umbrel restarts bitcoind. Disabling indexes is immediate; re-enabling them afterwards may require a reindex. |
Peer Settings
Optimisation
Interfaces / Version / Advanced
datacarrier=0, permitbaremultisig=0| Benefit | Detail |
|---|---|
| π― Rejection of inscriptions/NFTs | Does not propagate arbitrary OP_RETURN or bare multisig data |
| πΎ SSD longevity | No unnecessary indexes, no pruning cycles |
| β‘ Stability | Conservative cache for 8 GB shared RAM |
| π Privacy | Tor active, no unnecessary I2P |
| β‘ Lightning-ready | txindex ON for future LND use |
| π§Ή Efficient resources | No BIP37/BIP157 filters consuming writes |
Upon confirming that the user would open Lightning channels with LND:
txindex ON β satisfies LND's requirementpermitbaremultisig=0 and datacarrier=0 DO NOT affect Lightning: channels are opened with standard P2WSH outputs (multisig within the witness), not with bare multisig or OP_RETURN. Your funding transactions and channel closures will relay normally.minrelaytxfee at default β: advisable so that your own channel transactions (sometimes low-fee during quiet periods) propagate without friction.Individual sovereignty is the living foundation upon which all possible liberty is built. Financial peace, the ability to participate without guardianship, to create without asking permissionβ¦ all of this is cultivated in the everyday, in small decisions, in the architecture of our own lives.
A well-anchored node holds its structure firmly and remains operational even when the environment exerts pressure. Adjust yours. Now.
This article is an invitation to informed, serene action. The finest response to forced centralisation is conscious decentralisation.
β οΈ Disclaimer: The adjustments and procedures shared in this article are based on testing carried out in my own environment. As every setup is unique, I accept no responsibility for configurations, misconfigurations, or circumstances that may arise in the reader's own environment, or in that of anyone who applies these recommendations. Back up your data and verify each step before making changes.
π This piece is shared via the Nostr protocol π. For the best reading experience, please use a client that supports Long-form Content (NIP-23).
π If you wish to support this work and the cause, you are welcome to visit the βDonationsβ section on my personal website π
Thank you for your time, your attention, and your support. ποΈ