プロトコル戦争約 4分Bitcoin (BTC)

10万バイトの白紙小切手:Bitcoin Core v30とKnotsのOP_RETURN内戦

2025年6月9日にマージされ、10月13日にBitcoin Core 30.0へ収録されたPR #32406は、OP_RETURNのデフォルト許容量を83バイトから100,000バイトへ引き上げ、複数出力を認めた。コンセンサスを変えないローカルなリレーポリシー変更は、CoreとKnotsのスパム、フィルタリング、ノード選択をめぐる論争の中心となった。

10万バイトの白紙小切手:Bitcoin Core v30とKnotsのOP_RETURN内戦

3点クイック要約

  • 発端 / 逆説Bitcoin Core v30は、OP_RETURNデータのデフォルト許容量を83バイトから100,000バイトへ引き上げ、トランザクションあたりの複数出力を許可した。これはスパム対検閲論争に火をつけたローカルのリレーポリシー変更であり、参加者の主張によれば一部のノード運用者がBitcoin Knotsへ移行する契機となった。
  • 決定的瞬間転換点となったのは、完全撤廃案(PR #32359)が終了した後に2025年6月9日にマージされたPR #32406であった。デフォルトの上限を撤廃し、許容量をすべてのOP_RETURN出力で按分し、-datacarrierオプションを非推奨(deprecated)として維持する妥協案だった。
  • 歴史的結末コンセンサスルールは変わらなかった。リレーとマイニングのポリシーはローカルで設定可能なままで、非標準トランザクションも採掘でき、運用者はCoreの100,000バイトとKnotsの42バイトというデフォルトの間で選ぶことになった。

出来事のタイムライン

2025年4月データ上限論争の再燃

bitcoin-devメーリングリストでBitcoin Coreの83バイトOP_RETURNデフォルト上限の引き上げや撤廃が議論され、4月27日にPeter Toddが制限を完全に削除するPR #32359を開いた。

2025年5月妥協案の登場

5月2日、Gregory Sandersがデフォルト上限を撤廃し、複数OP_RETURN出力を許可し、オプションを非推奨とするPR #32406を開き、#32359は5月12日に未マージのままクローズされた。

2025年5月〜6月NACK、動員、そしてモデレーション規則

Concept ACKとNACKが続き、メンテナーがモデレーション規則を提示する中、Bitcoin KnotsのLuke Dashjrはこの概念を強く非難した。

2025年6月マージ:83から100,000へ

PR #32406が6月9日にマージされ、Optechはデフォルト設定が83バイトから100,000バイトへと急増し、トランザクションあたり単一OP_RETURN出力制限が撤廃されたことを記録した。

2025年10月Core 30.0の出荷とノードの選択

Bitcoin Core 30.0は10月13日に新しいデフォルトで公開された。引用したKnots版はすでに42バイト上限と追加のデータポリシー設定を採用していた。

1. 83バイトの休戦協定

長年、Bitcoin Coreのデフォルトポリシーは、単一のOP_RETURN出力に最大83バイトを格納するトランザクションをリレー・マイニング対象としていた。OP_RETURNは付加データを証明可能に使用不可能とするオペコードである。この上限と単一出力ルールは標準性の設定であり、ブロック有効性のルールではない。[1][11]

このルールはコンセンサスではなかった。Core文書はmempoolとリレーポリシーを、未確認トランザクションに適用するローカルで設定可能な規則と定義し、ブロック内のトランザクションには適用しない。あるノードが非標準として拒否してもマイナーは採掘でき、リレー受理は内容の支持を意味しない。[8]

データポリシー論争は2025年以前から続いていた。#32406のスレッドは、マージされなかった過去のインスクリプション・フィルタリング案に言及している。2025年4月、bitcoin-devでOP_RETURNのデフォルト上限を引き上げるか撤廃するかの議論が再開した。[3][10]

2. メーリングリストを埋め尽くす激論

スレッドが膨大になったため、Bitcoin Optechは2025年5月2日号で全体を要約せず、変更への賛否で最も説得的と考えた論拠を一つずつ紹介した。[10]

制限緩和を支持したPieter Wuilleは、標準性ポリシーで資金力ある組織の直接マイナー送信を阻止するのは困難だと主張した。またデータ有無に関わらずブロックは概ね満杯であるため、ノードが保管する総データ量は実質的に同等であると指摘した。[10]

一方、反対派のJason Hughesは、上限を引き上げるとフルノード上に任意データを保存しやすくなり、暗号化の有無に関わらず大半の法域で違法な情報を含む有害データが保存されるリスクを警告した。[10]

2025年4月27日、Peter ToddはPR #32359を開き、上限と-datacarrierオプションの完全削除を提案した。MARAのSlipstreamのようなマイナーへの直接送信やLibre Relayのような非制限で既に制限が無力化されていると論じた。このPRは5月12日に未マージで終了した。[9]

3. Concept NACK:炎上するリポジトリ

2025年5月2日、CoreコントリビューターのGregory Sanders(instagibbs)はPR #32406を開いた。最大トランザクションサイズに相当する最大100,000バイトのOP_RETURNを許容するようデフォルト-datacarriersizeを引き上げ、複数出力を認め、オプションは非推奨(deprecated)として残す内容だった。[3][11]

レビュースレッドではConcept ACKとNACKが続いた。メンテナーは動機でなくアイデアを批判し、パッチに集中するようモデレーション規則を示した。最も鋭い反対はBitcoin KnotsメンテナーのLuke Dashjrから出た。[3][5]

Concept NACK(概念反対)。すでに複数のPRで議論し尽くされた問題だ。本質的でない細部の違いで繰り返し投稿したところで、この概念が持つ根本的な狂気と悪意が変わるわけではない。[5]
Luke Dashjr

Sandersは従来の制限が不可欠な防壁であるとの見方を退けた。データ制限が主にP2Pやmempoolレイヤーを保護するために存在するという主張に対し、彼は簡潔に答えた。[4]

全くの誤りだ。このルールの唯一の動機は、回避できる場合にチェーン上へ勝手なデータを保存しないよう人々を誘導(nudge)することに過ぎない。[4]
Gregory Sanders

4. 2つのクライアント、正反対のデフォルト設定

PR #32406は2025年6月9日にマージされた。Optechによれば、デフォルト-datacarriersizeは83から100,000バイトへ引き上げられ、単一出力制限が撤廃されて全出力の合計値に適用されるようになり、-datacarrierオプションは将来削除予定の非推奨設定となった。[3][11]

2025年10月13日リリースのBitcoin Core 30.0はこの方針を明記した。リリースノートはデフォルトが100,000バイトに増え実質上限が撤廃されたこと、-datacarriersize=83で復元可能なこと、複数データ出力がリレーとマイニングで許可されたことを告知した。[1][2]

引用したBitcoin Knots v28.1のコードには、すでに反対方向のデフォルトがあった。ポリシーヘッダーはOP_RETURNを42バイト(データ40バイト+opcode)に制限し、既知のデータ格納方式を合算する。初期化コードは追加mempoolウェイト用の-datacarriercostと、-datacarriersize=83などを設定する-corepolicyを提供する。[12][7]

両クライアントはコンセンサスを変えず、異なるローカルポリシーを提供した。より広い撤廃案が閉じられたPeter Toddは、反対者に代替実装があると述べた。[3][6]

ここで私たちは、Bitcoin Coreに積極的に貢献している合理的な開発者の間で、この変更が良いアイデアであるという十分な合意を得ている。第二に、依然としてこの変更に同意しない人々は、Knotsのような代替を自由に実行すればよい。[6]
Peter Todd

5. 勝者の存在しない戦争

対立の中でもコンセンサスルールは不変だった。リレーポリシーは未確認トランザクションのみに適用されるローカル設定であり、標準ノードが拒絶したトランザクションもマイナーが受領すれば有効にブロックへ採掘された。リレー受理は内容の支持を意味せず、mempoolは台帳でなく一時待機所に過ぎない。[1][8]

「スパム」や「検閲」という言葉も議論上の立場にとどまった。Optechは双方の論拠を併記し、MARAのSlipstreamのような直接送信手段は、資金力ある送信者にとってリレーのデフォルト設定が強固な壁ではないことを証明した。[9][10]

論争は異なるデフォルトを残した。参加者はCoreからKnotsへの移行を主張したが、スレッドに確定した統計はない。引用した版はCore 30.0の100,000バイトとKnots v28.1の42バイトを示し、運用者はソフトウェアと設定で選好を表せた。[3][12]

この事件から学ぶ重要教訓(Key Takeaways)

技術 & アーキテクチャ

ポリシーはコンセンサスではない

mempoolおよびリレー規則は、未確認トランザクションにのみ適用され、ブロック検証には決して適用されないローカルなノード設定である。自ノードで非標準(nonstandard)として拒否されたトランザクションであっても、これを含めるマイナーがいればブロックに採掘可能であり、デフォルトを緩和してもチェーンが受け入れる合意ルールが変わるわけではない。

市場 & 投資インサイト

デフォルト設定は防壁にはならない

Peter Toddは、資金力ある送信者がマイナーへの直接提出や非フィルタリングでリレーポリシーを迂回できると論じた。経済的結果とは別に、一つのノードの設定だけで、受け入れるマイナーの判断は決められない。

思想 & ガバナンス

フォークは逃げ道であり投票である

Core 30.0は100,000バイト、引用したKnots版は42バイトをデフォルトにする。運用者はソフトウェアと設定を選ぶ。「スパム」と「検閲」はコンセンサス上の事実ではなく、論争上の立場にとどまった。

ストーリー・ユニバース

この人物・事件と繋がる関連ストーリー

歴史のバタフライ効果で結びついた、もう一つのドラマを探求する。

出典・参考文献

  1. [1]出典 1: Bitcoin Core 30.0 リリースノート — Bitcoin.orgbitcoin.org · 2025-10-10確認 2026-08-23
  2. [2]出典 2: Bitcoin Core バージョン 30.0 リリース — GitHubGitHub (bitcoin/bitcoin) · 2025-10-13確認 2026-08-23
  3. [3]出典 3: プルリクエスト #32406: policy: uncap datacarrier by default — Bitcoin CoreGitHub (bitcoin/bitcoin) · 2025-05-02確認 2026-08-23
  4. [4]出典 4: Gregory Sandersによるdatacarrierルールの動機説明 — PR #32406 コメントGitHub (bitcoin/bitcoin) · 2025-05-24確認 2026-08-23
  5. [5]出典 5: Luke Dashjr (luke-jr) Concept NACK — PR #32406 コメントGitHub (bitcoin/bitcoin) · 2025-05-05確認 2026-08-23
  6. [6]出典 6: Peter Toddによる異議と代替フォークに関するコメント — PR #32406GitHub (bitcoin/bitcoin) · 2025-06-04確認 2026-08-23
  7. [7]出典 7: Bitcoin Knots v28.1のポリシーオプション — src/init.cppGitHub (bitcoinknots/bitcoin)確認 2026-08-23
  8. [8]出典 8: トランザクションリレーポリシー仕様書 — Bitcoin Core v30.0 ドキュメントGitHub (bitcoin/bitcoin)確認 2026-08-23
  9. [9]出典 9: プルリクエスト #32359: Remove arbitrary limits on OP_Return outputs — Bitcoin CoreGitHub (bitcoin/bitcoin) · 2025-04-27確認 2026-08-23
  10. [10]出典 10: Bitcoin CoreのOP_RETURNサイズ制限緩和論争 — Bitcoin Optech ニュースレター #352Bitcoin Optech · 2025-05-02確認 2026-08-23
  11. [11]出典 11: Bitcoin Core #32406 マージ要約 — Bitcoin Optech ニュースレター #358Bitcoin Optech · 2025-06-13確認 2026-08-23
  12. [12]出典 12: Bitcoin Knots v28.1 datacarrier デフォルト設定 — src/policy/policy.hGitHub (bitcoinknots/bitcoin)確認 2026-08-23