Bitcoin Core 32.0、10月10日リリースに向けた高速なブロック検証とセキュリティ修正を目指す
重要ポイント
- •Bitcoin Core 32.0は月曜日にリリース候補版のテスト段階に入り、開発者は最終リリースを10月10日に目標としているが、テストの結果次第で時期は変わる可能性がある。
- •本アップデートはデータベース情報を並列に読み取ることでブロック検証を高速化し、Bitcoinがブロックを生成する速度を変えずにノード運用者の作業負荷を軽減する。
- •セキュリティ修正により、認証済みユーザーがウォレットを作成でき、walletnotify機能がコマンド実行するよう設定されていた非Windowsシステムで、細工されたウォレット名がコマンドを実行するのを防ぐ。
- •コントリビューターのMatthew Zipkin氏は、AIモデルKimi K3を用いてBitcoin Coreの新HTTPサーバーを監査中にメモリ枯渇の脆弱性を発見し、レビューでRESTインターフェース有効時には認証なしリクエストもメモリ増大を引き起こし得ることが判明した。
- •修正済みパッチにより、16件の認証なし接続による90秒間のメモリ増加は約3MB(変更前は3.2GB)となり、この修正は9月5日にBitcoin Core 32.0へマージされた。

Bitcoinの支払いをコンピューターが独立して検証できるようにするオープンソースソフトウェアBitcoin Core 32.0が月曜日にリリース候補版のテスト段階に入った。プロジェクトのスケジュールによると、リリース候補版は最終ビルド前に残る問題を検証者が明らかにできるよう公開されるプレリリース版だ。開発者は完成版の提供を10月10日に目標としているが、テストの結果次第でこの時期は変わる可能性がある。
本アップデートは主に、このソフトウェアを使ってウォレットやその他のサービスを運用するノード運用者と開発者に影響するものであり、ウォレットアプリの日常的なユーザーには影響しない。パフォーマンスが中心的な焦点となっている。リリースノートの草稿によると、本アップデートはデータベース情報を並列に読み取ることでブロック検証を高速化でき、Bitcoinがブロックを生成する速度は変わらない。フルノードの中核的な役割は、新しいブロックをネットワークのルールに照らして検証することであり(ブロックは約10分ごとに到着する)、この作業を削減することで、信頼できる第三者なしに支払いを検証する継続的な負担が軽くなるため、高速な検証は重要だ。
また、4つのウォレットコマンドが、ウォレットと署名デバイス間で部分的に署名されたトランザクションを交換するためのより新しい形式をデフォルトで使用するようになる。この形式により、未完成のトランザクションが完了前に複数のデバイスで署名を集められる。ただし、アプリケーションが必要な場合は従来の形式を引き続き要求できる。
セキュリティは本リリースのもう一つの優先事項だ。ある修正では、細工されたウォレット名がノードのコンピューター上でコマンドを実行するのを防ぐ。この不具合は、認証済みユーザーがウォレットを作成でき、かつwalletnotify機能がウォレットトランザクション発生時にコマンドを実行するよう設定されていた非Windowsシステムに影響した。この種のバグは、データと命令の境界を消してしまうため、大きな注目を集める。通常は単なるラベルにすぎないウォレット名が、walletnotify機能のコマンド実行と相互作用し得たためであり、パッチはその経路を断っている。
別のパッチは、接続アプリケーションからのリクエストを処理するプロジェクトの新HTTPサーバーにおける過剰なメモリ使用に対処するものだ。pinheadmzというハンドル名で活動するコントリビューターのMatthew Zipkinは、パッチ提案の中で「メモリ枯渇シナリオ」を記述した。当初の評価では、リスクは認証済みクライアントに限定されるとされていた。
Zipkin氏によると、この不具合はKimi K3というAIモデルを用いてBitcoin Coreの新HTTPサーバーを監査している最中に発見された。このAIモデルはBitcoin Red TeamがBitcoinソフトウェアの脆弱性を探索するためにも使用されている。以前の修正で問題の一部は解決されていたが、コンピューターの利用可能なメモリを枯渇させる手法、「OOM」(Out-Of-Memory、メモリ不足)状態が残っていたと同氏は説明した。
同じパッチのレビュー中に、GitHubユーザーのjeanpablojpが、RESTインターフェースが有効な場合、認証情報なしで送信されたリクエストもメモリの増大を引き起こし得ることを発見した。Zipkin氏がパッチを修正した後、レビュー担当者は、修正により16件の認証なし接続による90秒間のメモリ増加が約3MBに抑えられ、変更前は3.2GBだったと報告した。修正済みパッチは9月5日にBitcoin Core 32.0へマージされ、ソフトウェアのセキュリティ向上に向けた継続的な取り組みの一部となった。認証なしのケースは、その種のリクエストには信頼されたログインユーザーを必要としないため、当初の評価を超えて懸念を広げるものだった。
このパッチは、Bitcoin関連ソフトウェア全般で脆弱性対応が続く時期に登場した。ハードウェアウォレットメーカーのBitBoxは8月に2件の重大なファームウェア不具合を修正し、悪用の証拠はないと報告した。また、決済ソフトウェアCore Lightningの開発者も、修正を準備する中で確認済みの脆弱性についてノード運用者に警告を発している。現時点から10月10日までのリリース候補版により、目標日が維持されるかどうかが明らかになる。修正が有効となるのは、運用者が最終的に更新版を実行した場合のみだ。