CHIPs · CHIP-2021-03-12 · activated
Multiple OP_RETURNs for Bitcoin Cash
Made transactions with more than one OP_RETURN data output standard, keeping the 223-byte total limit.
Summary
Before May 2021, a standard transaction could carry only one OP_RETURN data output. This
CHIP lets a transaction carry several. The existing 223-byte limit now applies to the total across all of them.
Benjamin Scherrey owned the document, Jonathan Silverblood had the earlier concept, and BigBlockIfTrue wrote the technical spec. It was first published in ActorForth’s auction-protocol repository.
Motivation
OP_RETURN is the agreed place for data that nodes can ignore and never need to keep in the UTXO set. Protocols built
on it (tokens, social apps, auctions) each want their own output. With only one allowed, two protocols could not share
one transaction. The workaround, storing data in spendable outputs, bloats the UTXO set, which the CHIP calls an
undesirable alternative.
The authors kept the byte cap unchanged on purpose. They stayed “silent” on whether 223 bytes is right, to make the change as small and low-risk as possible and easy to agree on for May 2021.
What it specifies
- Transactions with multiple
OP_RETURNoutputs are standard. - The 223-byte limit applies across all
OP_RETURNoutputs in the transaction combined. - Policy only. No consensus rule changed.
Current status
Activated with the May 2021 upgrade. The later P2S CHIP (2026) kept the same cumulative 223-byte data-carrier rule.