Cryptocurrency12.05.2025

Battle at the heart of Bitcoin

A heated technical and philosophical debate is unfolding within the Bitcoin community over whether non-financial data should have a place on the blockchain.

At the centre of the dispute is a proposal to remove the size limit on a Bitcoin feature known as OP_RETURN, which some fear would open the door to more non-financial uses of the blockchain.

OP_RETURN is an operation code in the Bitcoin scripting language that lets users embed arbitrary data in a transaction without transferring any coins.

Currently, an OP_RETURN can consume 80 bytes of the maximum size of a traditional Bitcoin block, which is 1 megabyte (1,048,576 bytes).

The proposed change would remove this limit, allowing OP_RETURN data to consume more space in each block.

While the proposal has raised some technical concerns, it gained broader attention as it became a flashpoint in a larger ideological debate.

The most outspoken critics invoked questions about Bitcoin’s identity and the degree of power its core developers hold.

Satoshi Nakamoto’s original whitepaper referred to Bitcoin as a peer-to-peer electronic cash system, and many believe any other uses of the blockchain should be actively discouraged.

Critics specifically highlighted “monkey jpegs” — a reference to NFTs like Yuga Labs’ Bored Apes Yacht Club — as an undesirable element they don’t want on Bitcoin.

They also pointed out several practical concerns about what uncapping OP_RETURN might mean for Bitcoin node operators and the Bitcoin network as a whole.

These include blockchain bloat, which they fear will increase the bandwidth and storage requirements for node operators, making it more expensive to run a full Bitcoin node.

A Bitcoin node is software that connects to the Bitcoin network and helps enforce the rules of the protocol.

Node operators are the gatekeepers of consensus and are vital in keeping Bitcoin secure, decentralised, and censorship-resistant.

In particular, they defend Bitcoin’s rules as miners can’t change the protocol if nodes reject invalid blocks.

Those against raising the size limit of OP_RETURN also warned that it could increase demand for block space, driving up transaction fees and pricing out smaller financial transactions.

However, Bitcoin Core developer Peter Todd said during a recent debate that this is unlikely because of the financial incentives involved.

Bitcoin Core and OP_RETURN

Bitcoin Core developer Peter Todd in the HBO documentary Money Electric: The Bitcoin Mystery

Bitcoin Core is the reference implementation of the Bitcoin protocol — the official software used to run a full Bitcoin node.

It’s the original and most widely used version of Bitcoin software, maintained by a decentralised group of developers and contributors.

Todd explained that using OP_RETURN to store arbitrary data is about four times more expensive than another available mechanism.

That mechanism is segregated witness (SegWit), the result of Bitcoin’s last major ideological battle, which took place between 2015 and 2017.

During that dispute, one camp advocated for increasing Bitcoin’s blocksize beyond 1MB, while the Bitcoin Core team and others argued against the change.

This ultimately led to several “hard forks” of Bitcoin, namely Bitcoin Cash and Bitcoin Satoshi Vision, which increased the block size.

Hard forks can be thought of as changes that do not maintain backwards compatibility, whereas soft forks are backwards-compatible.

While the “big blockers” hard forked, Bitcoin Core implemented SegWit through a soft fork, allowing blocks to be up to 4MB in size.

Bitcoin calculates fees based on the transaction size, with data in the witness portion of a block effectively getting a 75% discount.

“It’s not economically rational to put your monkey jpegs in OP_RETURN data,” Todd said.

“This purely comes down to, in certain cases, for technical reasons, certain protocols need their data to be in output space; it can’t be in witness space.”

Unspendable transaction outputs

Bitcoin Core’s user interafce

OP_RETURN is primarily used to store data on the Bitcoin blockchain in a provably unspendable way.

Because it’s unspendable, OP_RETURN outputs are not stored in the Unspent Transaction Output (UTXO) database, which helps reduce Bitcoin node resource usage.

Bitcoin uses a UTXO-based model rather than keeping balances like a bank account. Therefore, your “wallet balance” is the value of the inputs minus the outputs.

Every transaction consumes one or more UTXOs as inputs and creates new UTXO outputs. As a best practice, OP_RETURN outputs are given a value of 0 BTC.

Todd explained that as things currently stand, protocols requiring more than 80 bytes of arbitrary data in output space are creating unspendable outputs that get added to the UTXO set.

“Over time, this causes issues because your UTXO set just gets bigger,” Todd said.

“We’d rather have a small UTXO set so people can have fast prune nodes, and so that the act of looking up outputs can be faster because it’s easier to fit in RAM.”

Pruned nodes don’t store a copy of the entire Bitcoin blockchain. Instead, they verify everything and discard old block data to save space.

Todd said that if there were a technical solution to restrict what types of data could be stored in blocks, he would support implementing it.

“I know we don’t have a viable technical solution at this moment. Maybe zero-knowledge proofs will allow us to do this in a reasonable way in future, but we’re not there yet,” he said.

“We have to go accept that. For an entity like Bitcoin Core, it makes a ton of sense for them to say that OP_RETURN logic is what it is, and we would rather people use it than other mechanisms.”

Show comments

Latest news

More news

Trending news

Sign up to the MyBroadband newsletter
OSZAR »