no extension

Bitcoin transactions that are also files.ファイルでもある Bitcoin トランザクション。

Statementステートメント

These are Bitcoin transactions confirmed on mainnet. They are also files—HTML, PDF, ZIP—that open directly in your browser. No conversion. No extraction. The bytes are the same.これらはメインネットで承認された Bitcoin トランザクションである。同時に HTML、PDF、ZIP ファイルでもあり、ブラウザで直接開くことができる。変換も抽出も不要。バイト列はそのまま同じである。

"Ceci n'est pas une pipe."
— René Magritte, 1929

Magritte's pipe could not be smoked—it was only a representation. Here, the representation is the thing.マグリットのパイプは吸えなかった。しかしここでは、表象がそのまま実体である。

This work was inspired by knotslies.com, which demonstrated during the BIP-110 debate that this capability had always existed. "no extension" visualizes the duality of interpretation.この作品は、BIP-110 の議論の中でこの能力が常に存在していたことを示した knotslies.com にインスパイアされたものである。「no extension」は解釈の二重性を可視化する。

Works作品

Three transactions. Three file formats. Each confirmed on Bitcoin mainnet at block #941,191.3つのトランザクション。3つのファイル形式。すべてブロック #941,191 で Bitcoin メインネットに記録された。

HTML

text/html
This is
not
a transaction.
4,119 bytes

PDF

application/pdf
This is not a transaction.
908 bytes

ZIP

application/zip
this/
this/is/
this/is/not/
this/is/not/a/
this/is/not/a/transaction
789 bytes

Download the raw transaction and save with the appropriate extension. The bytes are unchanged.生のトランザクションをダウンロードし、適切な拡張子で保存してください。バイト列は一切変更されていません。

* The ZIP file cannot be opened with macOS Archive Utility. Use the unzip command instead.* ZIP は macOS のアーカイブユーティリティでは開けません。unzip コマンドを使用してください。

curl -s https://mempool.space/api/tx/f7f0272c8fc13d47fec5ea9787a8f3e5b4920142699dfe09f18e73d161cfe766/raw > tx.html
open tx.html

curl -s https://mempool.space/api/tx/04d93990146a56a695c387c39ed423bef4ba1892c994254d36cde5d0c2ba5507/raw > tx.pdf
open tx.pdf

curl -s https://mempool.space/api/tx/2c56b60137769f6529a662d2fd215d6329997543d9aa434c52e90d2a76087961/raw > tx.zip
unzip -l tx.zip

Technical技術解説

How It Works仕組み

SegWit transactions contain a "witness" section—data. This witness data is flexible: it can contain signatures, public keys, and arbitrary data needed to satisfy spending conditions.SegWit トランザクションには「witness」セクションがある。この witness データは柔軟で、署名、公開鍵、そして使用条件を満たすための任意のデータを含むことができる。

"no extension" exploits this flexibility. The witness data is carefully structured so that the entire transaction, read as raw bytes, forms a valid file. The file format headers, content, and metadata are all embedded within valid Bitcoin script constructs.「no extension」はこの柔軟性を利用している。witness データは慎重に構造化され、トランザクション全体を生のバイト列として読むと有効なファイルになる。ファイル形式のヘッダー、コンテンツ、メタデータはすべて、有効な Bitcoin スクリプト構造の中に埋め込まれている。

Transaction Structure (HTML example):トランザクション構造(HTML の例):

[Version] [Marker] [Flag] [Input Count] [Inputs...] [Output Count] [Outputs...]
[Witness: <!DOCTYPE html>...]
[Locktime]

The witness contains the HTML, chunked into push operations.witness に HTML が含まれ、push オペレーションに分割されている。
HTML comments <!-- --> hide transaction metadata.HTML コメント <!-- --> がトランザクションのメタデータを隠している。

Hex View (PDF example)16進ダンプ(PDF の例)

Version
Witness marker
OP_RETURN
PDF content
Signature
0000 02 00 00 00 00 01 01 eb ea cb e8 b8 48 32 00 30 | version, marker
0010 0e cf 21 02 a7 f5 4d be f1 59 bc 7d ca 35 f3 69 | prev txid
0020 65 e7 53 82 d7 ae 95 03 00 00 00 00 ff ff ff ff | vout, sequence
0030 01 00 00 00 00 00 00 00 00 0e 6a 0c 6e 6f 20 65 | output, OP_RETURN
0040 78 74 65 6e 73 69 6f 6e 04 fd d5 01 25 50 44 46 | "xtension" %PDF
0050 2d 31 2e 34 0a 31 20 30 20 6f 62 6a 3c 3c 2f 54 | -1.4.1 0 obj<</T
0060 79 70 65 2f 43 61 74 61 6c 6f 67 2f 50 61 67 65 | ype/Catalog/Page
0070 73 20 32 20 30 20 52 3e 3e 65 6e 64 6f 62 6a 0a | s 2 0 R>>endobj
... [PDF content continues...]
0210 25 25 45 4f 46 0a 47 30 44 02 20 ... | %%EOF, signature
0380 ... 00 00 00 00 | locktime

The PDF header %PDF-1.4 appears directly in the witness data. When read as a file, parsers recognize this magic number and interpret the bytes as PDF.PDF ヘッダー %PDF-1.4 が witness データに直接現れている。ファイルとして読むと、パーサーはこのマジックナンバーを認識し、バイト列を PDF として解釈する。

Key Techniques主な技術

Context背景

BIP-110 and the Data DebateBIP-110 とデータ論争

BIP-110 proposes limiting the size of "data" that can be stored in Bitcoin transactions, with the goal of reducing blockchain bloat and preserving space for "legitimate" financial transactions.BIP-110 は、Bitcoin トランザクションに保存できる「データ」のサイズを制限することを提案している。ブロックチェーンの肥大化を抑え、「正当な」金融トランザクションのためのスペースを確保することが目的である。

The debate reveals a fundamental tension: Bitcoin, by design, does not distinguish between "transaction" and "data." A transaction is data. The witness, the scripts, the signatures—all are bytes that must be stored and propagated. Any rule attempting to separate "good" bytes from "bad" bytes faces the challenge that data can always be encoded as valid transaction components.この議論は根本的な緊張関係を明らかにしている:Bitcoin は設計上、「トランザクション」と「データ」を区別しない。トランザクションそのものがデータなのだ。witness、スクリプト、署名——すべて保存・伝播されなければならないバイト列である。「良い」バイトと「悪い」バイトを分離しようとするどんなルールも、データは常に有効なトランザクションコンポーネントとしてエンコードできるという課題に直面する。

Satoshi left room in Bitcoin's design—not by accident, but as intentional flexibility for unforeseen uses. To close this margin is to narrow Bitcoin's own survivability. If a permissionless protocol begins deciding what to permit, can it still call itself permissionless?Satoshi は Bitcoin の設計に余白を残した——偶然ではなく、予測できない用途への意図的な柔軟性として。この余白を閉じることは、Bitcoin 自身の生存可能性を狭めることになる。許可不要のプロトコルが何を許可するか決め始めたとき、それはまだ permissionless と呼べるのか。

Specification仕様

Titleno extension
AuthorZeroichi Arakawa
Year2026
BlockchainBitcoin
MediumPolyglot transactions, SegWit witness data
Block941,191