今週、ビットコイン関係のツイッターがある話題で持ちきりになっています。GitHubのBitcoin CoreリポジトリにPeter Todd氏が提出した以下のプルリクエストです。

Remove arbitrary limits on OP_Return (datacarrier) outputs by petertodd · Pull Request #32359 · bitcoin/bitcoin
As per recent bitcoindev mailing list discussion. Also removes the code to enforce those limits, including the -datacarrier and -datacarriersize config options. These limits are easily bypassed by…

この提案は、現在Bitcoin Coreノードのトランザクションリレーポリシーにある「OP_Returnは1トランザクションあたり1つまで、かつ83バイトまで」という制限を撤廃するものです。

想像に難くないことですが、2023年のOrdinals Inscriptionsの登場をきっかけにビットコイナーの中ではブロックチェーンに任意のデータを刻まれることに強い抵抗感を感じる人達が多くいます。今回の提案に大して、そのようなビットコイナーの多くが反発しています。

Ordinalsは全satsに通し番号を振るフルオンチェーンNFTプロトコル
ここ数日で話題になっているビットコイン上のプロジェクトに、OrdinalsというフルオンチェーンNFTプロトコルがあります。 個人的には直接ブロックチェーンを利用するNFT自体が無駄という意見なので、フルオンチェーン(紐づけるファイルのデータを全てブロックチェーン上に記録する)は愚かとさえ感じますが、もちろん対価となる手数料さえ払えば何を記録するのもユーザーの自由なので今日はそこを議論するつもりはありません。 Ordinalsがどういう仕組みなのか、特にCounterpartyやRGBなどビットコイン上でNFTを扱うことのできる他のプロトコルとどう違うかに焦点を当てていきます。 Ordinals Ordinal Theoryとは Ordinal Numbersとは序数、つまり順番の番号(何番目)を指す言葉で、Ordinal Theoryは「ビットコイン上で発行された全てのsatoshi (sats)に固有番号を振るシステム」というような意味を持ちます。具体的にどういうことでしょうか。 例えばビットコインの最初のブロックで50BTC、すなわち50億satsが発行されたとき、

日本国内でOrdinals Inscriptionsについて触れたメディアはおそらく本稿が初めてでした。

主にBRC-20トークンなど草コイン投機目的のトランザクションがもたらした手数料の高騰で悪印象を抱いたビットコイナーも多かったと思いますが、それだけでなくOrdinals InscriptionsはビットコインのUTXOセットを膨らませてしまうことでビットコインノードのハードウェア要求を高めてしまいました。2022年末は4.7GBほどだったUTXOセットは、現在では11GBほどまで増えてしまっています。

💡
UTXOセットとは今所有されているすべてのビットコインについて、どのトランザクションの何番目の出力かを表現するデータで、いわば「現在のビットコインの残高表」のようなものです。

これを受けて、Luke Dashjrを筆頭に一部のビットコイナーはOrdinals Inscriptionsをフィルタリングしようと動き、マイニングプールのOceanが生まれたり、Bitcoin Knots(昔からLuke Dashjrが動かしているビットコインノード実装)が盛り上がったりしています。現時点でOceanは全ハッシュレートの0.75%、Bitcoin Knotsは計測可能なビットコインノードの2.7%を占めています。

Oceanが発表したマイニングプロトコル「DATUM」は、いわば「リデザインされたStratum V2」
先日東京で開催されたBitcoin Tokyo 2024カンファレンスにも来場していたLuke DashjrをはじめとするマイニングプールOceanが、マイニングの分散性を守るためとしてStratum V2とは異なる次世代マイニングプールプロトコル「DATUM(Decentralized Alternative Templates for Universal Mining)」を発表しました。 本稿では以前にもStratum V2を紹介しています。知識をリフレッシュされたい方はぜひ以下の記事をご覧ください。またOceanについてもマイニングカテゴリ内の記事で度々触れております。 Stratum V2は本当にマイニングプールの検閲耐性を改善するのか?マイニングの話題になると、少なくともここ数年は規制や検閲という部分に関する関心が高まっている実感があります。マイナーがマイニングプールに接続する現状ではプール側が検閲を行えるのではないか、いくつかの大手マイニングプールが検閲を行うと実質的にネットワーク全体が検閲をしているのと同じ状況にならないか、といった疑問です。 ビットコインの検閲耐性は

Oceanのチームは昨年のBitcoin Tokyo 2024にも参加していました。

しかし、P2Pでのトランザクション伝播段階でのフィルタリングはほぼ効果がなく、不要な複雑性をネットワークに導入してしまうばかりか、マイニングの寡占化を促進してしまう影響すらあります。かといって必ずしもOP_Returnの制限撤廃がすぐに必要ではありませんし、単体では現在存在するビットコイン上にデータを刻む用途の受け皿にはならない可能性が高いですが、形骸化しているものなので撤廃していくことは方向性としては正しいでしょう。コンセンサスではなくポリシールールに頼った弱い仕組みという点では、RBFフラグが立てられていないトランザクションをゼロ承認で受け付けていた時代と同じです。

Bitcoin Core 24.0からのFull RBF既定化についての議論まとめ
この1週間ほど世間の話題はFTXの信用不安問題で持ちきりですが、ビットコイン開発者の多くは全然違う論争に巻き込まれていました。Bitcoin Coreの次期リリースである24.0において、ノードのポリシーとしてFull RBF (mempoolfullrbf)というものが導入される予定のところ、これに反対する意見が出たためです。 結果的には導入継続という流れになりましたが、このように誰でも意見・議論できることがビットコイン開発における健全性維持の1つの仕組みです。 それでは議論の内容を見ていきましょう。 RBFとは RBFとはReplace-by-Feeの略で、配信したがまだブロックに取り込まれていないトランザクションを、より高い手数料を払って置換することをいいます。トランザクション作成時にそのトランザクションにRBF有効のフラグが立てられている場合、同じコインを使用する別のトランザクション、つまり相反するトランザクションを配信して古いものを置き換えることができます。(置換されるトランザクションより手数料が高いこと、置換されるトランザクションがまだブロックに取り込まれていない

RBF無効のトランザクションでもマイナーに直接提出するなどして置き換えることができたので、結果的にはすべてのトランザクションをRBF有効として扱うようノードポリシーが変更されました。

今日は以上の論点を掘り下げて、OP_Returnの制限撤廃を支持する立場での意見を示してみます。(とはいえ、残すメリットがないというだけで急いで撤廃する必要性は高くありませんが。)

・リレーポリシーによる制限は効果が乏しく、マイニングの寡占化を招く

・OP_Returnの上限撤廃は必ずしも問題の解決につながらない

・目的を果たせないポリシー(コード)は撤廃すべき