【CTO Tech Blog】Bitcoin Core v31.0で導入されたtxospenderindex
- CTO Tech blog

当社のCTO、安土 茂亨がクラウドやBlockchainについて書き連ねるブログ Develop with pleasure! から最新記事をご紹介するCTO Tech Blog。
今回は「Bitcoin Core v31.0で導入されたtxospenderindex」というタイトルの記事をご紹介!!
📦 ブログ記事の概要
📄 概要
この記事では、Bitcoin Core v31.0 で新たに導入されたインデックス機能 txospenderindex について解説しています。これは、各TXO(Transaction Output)が「どのトランザクションで使用されたか」を高速に追跡するためのインデックスであり、Lightning Network や Ark、DLC、Vault 系プロトコルなど、UTXOの使用の監視を必要とするシステム向けの機能です。
⚙️ 技術的ポイント
・TXOの使用先を高速検索する新インデックス
txospenderindex は、各TXOについて「それを消費したトランザクションの位置」を記録するインデックスです。これにより gettxspendingprevout RPC を使って、特定のTXOを使用したトランザクションを高速に検索できるようになります。
・SipHashを利用した省容量設計
本来36byteある OutPoint をそのままキーにすると巨大なサイズになるため、SipHash によって8byteへ圧縮しています。一方でハッシュ衝突を避けるため、トランザクション位置情報(block file・offsetなど)もキーに含める構造を採用しています。
・LevelDBベースのキー設計
他のBitcoin Coreインデックスと異なり、値部分を空文字列にしてキーだけで構成されている点が特徴です。LevelDB のキー順ソート特性を活かし、SipHashプレフィックスを用いた高速スキャンを実現しています。
・新しいRPC拡張
v31.0では gettxspendingprevout RPC に return_spending_tx オプションが追加され、TXOを消費したトランザクションの完全なHexデータも取得可能になりました。
・大容量インデックス
ブロック高946826時点で、txospenderindex のサイズは約87GBとなっており、txindex(65GB)よりも大きいサイズです。インプット毎にエントリが生成されるため、かなり大規模なインデックスとなります。
💡 技術的意義
txospenderindex の導入により、Bitcoin Core は 「あるTXOがどこで消費されたか」を高速に追跡可能なノード基盤 を提供するようになりました。これは、チャネル監視や不正状態検出が必要な Lightning Network や Ark、DLC などの Layer2 / Covenant 系プロトコルにとって重要な機能です。特に、承認済みトランザクションも対象に含めて検索可能になった点は、監視系ユースケースにおける実用性を大きく向上させています。
📌 まとめ
この記事は、Bitcoin Core の内部実装やインデックス設計、レイヤー2監視機構に関心のあるエンジニアに役立つ内容です。特に、Bitcoin Core開発者、Lightning Network 実装者、DLC / Ark / Vault 系プロトコル設計者、ノード運用エンジニアにとって、v31.0 の新機能を理解するうえで参考となる解説です。
🔗元記事へのリンク
Chaintopeでブロックチェーンの未来を共に創りませんか?

Chaintopeは、独自のブロックチェーン「Tapyrus(タピルス)」と、開発プラットフォーム「Tapyrus Platform」を活用し、デジタル社会の信頼基盤を構築しています。
私たちは、ブロックチェーン技術の可能性を最大限に引き出し、社会に新しい価値を提供することを目指しています。
募集職種:
- ブロックチェーンエンジニア
- アプリケーションエンジニア
- インフラ・保守エンジニア
- プロジェクトマネージャー
- フィールドセールス
Chaintopeで働く魅力:
- 最先端のブロックチェーン技術に触れる機会
- リモートワークやフレックスタイム制による柔軟な働き方
- 専門性の高いチームとの協働
ブロックチェーン技術に情熱を持つあなたのスキルを、私たちのチームで活かしませんか?
↓↓詳細は、採用情報をご覧ください↓↓


