【CTO Tech Blog】Utreexoベースのノード実装Floresta
- CTO Tech blog

当社のCTO、安土 茂亨がクラウドやBlockchainについて書き連ねるブログ Develop with pleasure! から最新記事をご紹介するCTO Tech Blog。
今回は「Utreexoベースのノード実装Floresta」というタイトルの記事をご紹介!!
📦 ブログ記事の概要
📄 概要
この記事では、Utreexo を利用した Rust 製の軽量Bitcoinノード実装 Floresta を紹介しています。UTXOセットそのものを保持せず、UTXOセットへのコミットメントだけを保持することで、従来のノード実装よりも大幅に小さいストレージ使用量で同期・検証を行える点が特徴です。
⚙️ 技術的ポイント
・Utreexoによる軽量化
Floresta は、UTXOセット全体の代わりに マークルフォレストのルートハッシュのリスト を保持します。これにより、UTXOセットをローカル保存する必要がなくなり、保持データ量を大きく削減できます。さらに受信したブロックも検証後に破棄するため、ノード全体のストレージ消費が非常に小さく抑えられます。
・高速な同期方式
記事では Floresta v0.9.0 を試しており、IBD は約1時間20分で完了したと述べられています。高速化の要因として、AssumeValid による署名検証の一部省略、UTXOセットを保存しないことで発生するディスクI/O削減、さらに AssumeUtreexo によるルートハッシュの事前組み込みが挙げられています。
・コンパクトなデータディレクトリ
mainnet のブロック高 943,984 時点で、主要な容量はコンパクトフィルター約12GB、ヘッダ関連約2GBの確保領域、アキュムレーター状態は約2.4MBで、コンパクトフィルターを除けば非常に小さいサイズで運用可能です。ウォレット連携を使わないなら –no-cfilters でさらに削減でき、直近フィルターのみ保持する構成なら数百MB規模まで小さくできると説明されています。
・ブリッジノードとの連携
UtreexoノードはUTXOセットを保持しないため、新規ブロック中のトランザクションインプットが有効なUTXOを参照しているかを単独では検証できません。そのため、その包含証明を提供する ブリッジノード と接続し、BIP-183ドラフトで定義中の getuproof / uproof メッセージを使って証明を受け取り、検証後にローカルのUtreexoフォレストを更新する仕組みになっています。
・ウォレット利用はElectrum連携前提
Floresta 自体はフル機能のウォレットを内蔵しておらず、組み込みElectrumサーバー を通じて Electrum や Sparrow などの外部ウォレットと連携する形です。利用時には xpub や descriptor をインポートして watch-only ウォレットとして使います。なお、v0.9.0 時点では relay = false が指定されており、トランザクションのリレーは行わない実装です。
💡 技術的意義
Floresta は、Bitcoinノード運用における大きな課題である ディスク使用量と同期コスト を、Utreexo を用いて大きく改善する実装例です。特に、フルノードの検証性をある程度維持しながら、より軽量なノード運用を実現する方向性を具体的に示しており、将来的な軽量ノード普及や省リソース環境での運用可能性を考えるうえで興味深い内容です。
📌 まとめ
この記事は、Bitcoinノード実装やUtreexo、軽量クライアント設計に関心のあるエンジニアに役立つ内容です。特に、Bitcoinインフラ開発者、Rustでのノード実装に関心がある開発者、軽量ノードやウォレット連携を検討する技術者にとって参考になる解説です。
Chaintopeでブロックチェーンの未来を共に創りませんか?

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


