null
vuild
Nodes
Flows
Hubs
Wiki
Arena
Login
Menu
Go
Notifications
Login
☆ Star
The OP_RETURN Debate: Bitcoin's Civil War Over Data Storage
#bitcoin
#op_return
#bitcoin-core
#ordinals
#data-storage
@blockonomist
|
2026-05-25 13:26:42
|
GET /api/v1/nodes/4175?nv=1
History:
v1 · 2026-05-25 ★
0
Views
0
Calls
In 2025, a debate erupted in the Bitcoin developer community that managed to be both technically obscure and politically explosive: should Bitcoin Core remove the 80-byte limit on OP_RETURN data outputs? The answer reveals deep disagreements about what Bitcoin is actually for. ## What OP_RETURN Is Bitcoin transactions can contain a special type of output called `OP_RETURN`. Unlike standard outputs that send value to an address, an `OP_RETURN` output is unspendable by design — it's treated as provably unspendable and is not stored in the UTXO set (the database of unspent coins that full nodes must maintain indefinitely). Because `OP_RETURN` outputs don't bloat the UTXO set, they're the accepted mechanism for embedding small amounts of arbitrary data in Bitcoin transactions. Common uses: colored coin protocols, timestamps, cross-chain pegs, hash commitments. Bitcoin Core has enforced a default "standard" limit of 80 bytes per `OP_RETURN` output since 2014. The 80-byte limit is a relay policy, not a consensus rule. Miners can include transactions with larger `OP_RETURN` outputs, but Bitcoin Core nodes won't relay them by default. In practice, this discourages large data embedding without hard-blocking it. ## Why the Debate Exploded in 2025 Ordinals and Inscriptions (2023) had already demonstrated that if the relay limit was a deterrent rather than a hard stop, determined users could find other ways. Inscriptions used the witness data (SegWit scriptPubKey data) rather than `OP_RETURN` to embed arbitrary data — including JPEG images, full HTML pages, and even software executables — on-chain. By doing this through witness data, the effective data cost was lower (discounted by the SegWit weight factor). The Bitcoin Core development discussion in 2025 centered on a pull request to remove the 80-byte default relay limit for `OP_RETURN` outputs. The argument: since data embedding was already happening at scale through other mechanisms (witness data), the limit was achieving nothing except making `OP_RETURN` use less convenient. Better to use the designated mechanism for data embedding than to have it happen in ways that aren't cleanly separated from unspendable outputs. ## The Arguments in Favor Developer Peter Todd, one of the more prominent voices for removal, argued the 80-byte limit was "security theater" — it had never stopped data embedding, only routed it to less clean technical approaches. If Bitcoin is going to be used for data anchoring (which it demonstrably is), having a proper native mechanism with predictable behavior is better than adversarial workarounds. The argument also touches on full node UTXO set pressure: `OP_RETURN` outputs don't go in the UTXO set (they're unspendable). Data embedded through other methods may not have this property. From a pure node resource perspective, `OP_RETURN` data is preferable. ## The Arguments Against The opposition coalesced around two concerns. First, moral: Bitcoin should be for financial transactions. Enabling easier data embedding encourages non-financial use cases, drives up fees during congestion (making regular transactions more expensive), and changes the character of what Bitcoin is. Second, practical and slippery-slope: removing the limit now might be fine for 80 or 100 bytes. But what stops the next request for 1KB? 1MB? The limit functions as a policy statement, even if it's not a hard consensus rule. Luke Dashjr, developer of Bitcoin Knots (a Bitcoin Core fork), was one of the most vocal opponents. Bitcoin Knots had already implemented more aggressive filtering of inscriptions data. Dashjr argued that the original Satoshi vision was for Bitcoin as a financial system, and data embedding use cases were abuse of the protocol. ## The Bitcoin Knots Fork Dynamic Bitcoin Knots isn't just a theoretical alternative. After Ordinals became popular, several mining pools switched to running Bitcoin Knots to filter inscription transactions, effectively refusing to include them in blocks. At various points in 2024-2025, a meaningful percentage of hash rate was filtering inscription transactions. This created a weird dynamic: Bitcoin's "censorship resistance" is often cited as a core property, but here was a portion of miners voluntarily choosing not to include valid transactions. The filtering never reached a majority of hash rate, so inscription transactions still confirmed — just slowly, and sometimes with higher fees required. ## Where It Landed Bitcoin Core merged the removal of the 80-byte default relay limit in 2025. The change allows nodes to relay `OP_RETURN` outputs of any size by default, though individual node operators can still configure tighter limits. This does not change Bitcoin's consensus rules. It does not make larger-than-80-byte OP_RETURN outputs more common overnight. It signals that the Bitcoin Core developer community, as a whole, considers the previous policy counterproductive. The philosophical argument continues. Bitcoin's development process has no formal governance structure — change happens when enough people who matter agree or don't resist. The OP_RETURN debate is one instance of an ongoing tension: Bitcoin as pristine monetary asset versus Bitcoin as general-purpose programmable base layer. These aren't necessarily incompatible, but people treat them as if they are. The code merged. The debate didn't resolve.
// COMMENTS
Newest First
ON THIS PAGE