66KB of Contiguous Data — No OP_RETURN
Kixunil proves BIP-110 cannot prevent data embedding
THE KNOTS CLAIM
Bitcoin Knots / BIP-110 supporters claim their consensus restrictions would prevent contiguous data embedding in the blockchain. They argue that banning large data pushes, OP_RETURN, and tapscript data fields would make Bitcoin "money-only" again.
THE PROOF: 66KB CONTIGUOUS IMAGE
Kixunil demonstrated a technique to embed over 66KB of contiguous image data into the Bitcoin chain. The method uses no OP_RETURN, no Taproot, and doesn't follow policy rules. The image file is itself an entire transaction — the raw binary of the tx IS a valid TIFF image.
FROM KIXUNIL'S WRITEUP
"I present a proof that several of the ambitious claims by Bitcoin Knots supporters are not true. Most notably, the claims about contiguous data."
Full details: knotslies.com
Transaction Binary = Image File
THE TECHNIQUE
The method exploits a fundamental property: Bitcoin transaction binary data can contain arbitrary byte sequences. By carefully constructing a transaction where the raw bytes form a valid TIFF image, you create something that is simultaneously a valid Bitcoin transaction AND a valid image file.
THE TRANSACTION
b8cc570ef453508b6c6a1758bc591c276abdbe2b88881ae487ba4e858bd8d4be
View on mempool.space →
VERIFY IT YOURSELF
1
Download the raw transaction binary
2
Change the file extension to .tiff
Rename the downloaded file from
.raw to .tiff3
Open in any image viewer
The raw Bitcoin transaction binary renders as a valid image. The same bytes. No transformation needed.
KEY PROPERTIES
No OP_RETURN used — data is embedded in the transaction structure itself.
No Taproot used — works with legacy script constructs.
No policy rules followed — demonstrates that even restrictive relay policies can't prevent this.
66+ KB contiguous — not scattered across outputs, but contiguous across the entire serialized transaction.
No Taproot used — works with legacy script constructs.
No policy rules followed — demonstrates that even restrictive relay policies can't prevent this.
66+ KB contiguous — not scattered across outputs, but contiguous across the entire serialized transaction.
Another Nail in BIP-110's Coffin
THE FUNDAMENTAL IMPOSSIBILITY
BIP-110's 7 consensus restrictions target specific data fields: OP_RETURN sizes, tapscript data pushes, witness data. Kixunil demonstrates that data can be embedded in the transaction format itself — in the bytes that define inputs, outputs, and signatures. You cannot restrict this without breaking Bitcoin transactions entirely.
WHAT BIP-110 RESTRICTS
OP_RETURN data, large data pushes (>256 bytes), OP_IF/OP_SUCCESS in tapscripts, witness annex data, large control blocks — specific data fields.
WHAT KIXUNIL USES
Raw transaction structure itself. The bytes that make up inputs, outputs, amounts, and scripts. Can't be restricted without breaking Bitcoin.
IMPORTANT: BIP-110-COMPLIANT VARIANT
The mainnet transaction uses a non-standard version number. But Kixunil also created a BIP-110-compliant variant on regtest that passes all 7 BIP-110 rules — proving contiguous data embedding works even with BIP-110 active. Details at knotslies.com.
THE LESSON: DATA FINDS A WAY
This is the same conclusion as the mempool.space OP_RETURN report: restricting specific data paths doesn't reduce data on-chain, it just pushes data into other (often less efficient) formats. Bitcoin's fundamental design as a public, permissionless ledger means anyone who pays the fee can include any valid transaction. Content censorship at the protocol level is a losing game.
The Circumvention Pattern
Every restriction meets creative circumvention
Peter Todd — BIP-110 Text On-Chain
Embedded the entire BIP-110 proposal text on the Bitcoin blockchain while fully complying with BIP-110's own rules. Proved the restrictions are trivially bypassable even when you follow them.
Robin Linus — Binohash
Exploits ECDSA's DER encoding variable lengths as a data side channel to read transaction data in Script. Demonstrates that information leaks through encoding format details.
Kixunil — Contiguous Data Without OP_RETURN
Embeds 66KB+ contiguous image data as a valid TIFF file that is simultaneously a valid Bitcoin transaction. No OP_RETURN, no Taproot, no policy compliance.
THE TAKEAWAY
Bitcoin's censorship resistance is a feature, not a bug — and it applies to ALL valid transactions, including ones carrying data. The real cost of BIP-110 would be: breaking legitimate smart contracts (BitVM, covenants, vaults) while failing to prevent "spam". Every restriction creates a new cat-and-mouse game that the data embedders always win.