ビットコイン・コア「v32.0」がリリース候補版に、手数料推定やブロック検証を改善

Bitcoin Core v32.0、正式版に向けリリース候補版を公開

ビットコイン(Bitcoin)のノードソフトウェア「ビットコイン・コア(Bitcoin Core)」の次期メジャーバージョン「v32.0」のリリース候補版「v32.0rc1」が9月14日に公開された。正式版となるv32.0は10月10日のタグ付けを目標としている。

ビットコイン・コアは、ビットコインのP2Pネットワークに接続し、ブロックやトランザクションを検証するオープンソースソフトウェアだ。今回のv32.0はビットコイン・コアの新バージョンであり、ビットコインそのものが「v32.0」へアップグレードされるわけではない。

v32.0は8月20日に新機能の追加を原則終了する「機能フリーズ」を迎え、バグ修正を中心とする段階へ移行した。9月14日には開発用のmasterブランチから32.xブランチが分離され、正式版の候補をテストする「リリース候補版(Release Candidate:RC)」のサイクルが開始された。

公開されているv32.0のリリースノート草案では、主要な変更の一つとして、ビットコイン送金時の手数料を見積もる仕組みが挙げられている。ビットコインではネットワークの混雑状況などによって、取引がブロックに取り込まれるために必要な手数料率が変化する。このためビットコイン・コアには、希望する時間内での承認に必要な手数料率を見積もる機能が備わっている。

v32.0では、過去にブロックへ取り込まれたトランザクションを基にする従来の推定に加え、現在承認を待っているトランザクションから手数料率を推定する新たな方式が追加される。承認前のトランザクションは、各ノードが「メンプール(mempool)」と呼ばれる領域に一時的に保持している。

ビットコイン・コアは、原則として従来方式と新方式による推定値のうち低い方を採用し、その推定値をウォレットの手数料設定にも利用する。過去の取引を基にした推定値よりメンプールを基にした推定値が低い場合には、後者が採用される。

またv32.0では、ノードによるブロック検証を高速化する仕組みが導入される。ブロックの検証では、含まれる取引を確認するために過去の取引に関するデータを参照する。v32.0では検証に必要なデータを複数の処理で並行してデータベースから先読みし、ディスクからデータを読み込む場合の待ち時間を減らす。

このほか、未承認トランザクションを他のノードへ中継する仕組みも変更される。v32.0では送信待ちのトランザクションをまとめて管理する方式を導入し、トランザクション量が多い場合のメモリやCPU使用量を抑える。

プライバシー面では、送信元のIPアドレスとトランザクションの結び付きを分かりにくくする「プライベートブロードキャスト」機能の問題が修正される。同機能では匿名通信ネットワーク「Tor」を経由してトランザクションを送信するが、特定の条件ではTorを経由せず直接接続し、送信元のIPアドレスが相手側に知られる可能性があった。

またv32.0では、ビットコイン・コアの機能を外部のアプリケーションなどから利用する際に使われるHTTPサーバーが一から書き直される。開発過程の監査では、リクエストの処理中に同じ接続からデータを読み込み続けることでメモリ使用量が増大する可能性のある問題が確認され、この問題への対策もビットコイン・コアに取り込まれた。

ウォレット関連では、秘密鍵を含まない監視専用ウォレットをエクスポートする機能などが追加される。また、複数の参加者などが未署名または一部署名済みのビットコイントランザクションをやり取りするための規格「PSBT(Partially Signed Bitcoin Transaction)」では、複数の機能でバージョン2がデフォルトとして利用されるようになる。

さらに、過去のトランザクションを検索するためにノードが作成するトランザクションインデックスでは、保存するデータ量が削減される。インデックスを新たに構築した場合、ディスク使用量は従来の半分未満になる。既存のインデックスをそのまま使用する場合、この容量削減は適用されない。

参考:ギットハブ1ギットハブ2  ・ギットハブ3 
画像:PIXTA

関連ニュース

関連するキーワード

この記事の著者・インタビューイ

渡邉洋輔

「あたらしい経済」編集部 記者 ブロックチェーンおよびデジタル資産分野を専門とし情報発信を行っている。オンチェーンデータや流動性構造など、市場設計の観点からのリサーチにも取り組んでいる。