ソラナで「durable nonce」廃止の改善提案、ドリフト攻撃でも利用された機能

ソラナのデュラブルナンス廃止に向けた具体案を提出

ソラナ(Solana)のバリデータークライアント開発企業アンザ(Anza)の開発者ゲイブ・ロドリゲス(Gabe Rodriguez)氏が、署名済みトランザクションを通常の有効期限を超えて保持できる機能「デュラブルナンス(durable nonce)」の廃止に向けた改善提案「SIMD-0723」を11月5日に提出した。

同提案では、ソラナにおける全てのトランザクションに直近のブロックハッシュを要求し、デュラブルナンスを利用した取引処理を無効化する変更が示された。現在は提案段階で、採用された場合、メインネットへの適用は2027年5月5日以降となる。

ソラナ財団(Solana Foundation)は10月、デュラブルナンスを廃止し、オフライン署名の検証をオンチェーンプログラムへ移す方針を公表していた。今回のSIMD-0723は、この方針を実現するための具体的なプロトコル変更を定めるものだ。

ソラナの通常のトランザクションは、直近のブロックハッシュと呼ばれる値を使用し、約30秒で有効期限が切れる。これにより、古い署名済みトランザクションが後から実行されることを防ぐ。また、ネットワークは処理済みの署名を記録し、同じトランザクションの重複実行を防いでいる。

一方、デュラブルナンスは、専用のアカウントに保存された値をブロックハッシュの代わりに使用し、署名済みトランザクションを通常の有効期限を超えて保持する仕組みだ。取引所やカストディアンなどでは、秘密鍵をインターネットから隔離した端末で管理し、複数人の承認を経て取引を送信する場合がある。そのため、署名から送信までに時間がかかる業務で同機能が利用されてきた。

今回の提案では、デュラブルナンスに関連するアカウントの初期化、更新、アップグレードの命令を無効化する。一方、既存のノンスアカウントからの資金引き出しや権限変更は引き続き可能とする。

提案書では廃止の理由として、デュラブルナンスに伴う例外的な処理が、セキュリティ上の脆弱性やネットワーク障害を繰り返し引き起こしてきたことが挙げられている。通常のトランザクションとは異なる方法で有効性や重複実行を管理する必要があり、取引の検証や処理を担うバリデーターに特別な処理が求められるためだ。

具体的には、2022年にデュラブルナンスに関連する問題でメインネットが約4時間半停止した事例がある。この障害では、デュラブルナンスを利用したトランザクションが通常のトランザクションとして処理され、失敗した。その際にノンスの値が更新されなかったため、同じトランザクションが再送され、再び処理された。その結果、バリデーター間でブロックの有効性について判断が分かれたとのことだ。

さらにソラナ財団は、デュラブルナンスが非同期実行の導入を妨げるほか、スパムや無効なトランザクションを排除する際の処理負荷につながると説明している。非同期実行は、トランザクションをブロックに取り込む処理と実際に実行する処理を分離する仕組みだ。またデュラブルナンスでは、同じノンスの値を使って複数の異なるトランザクションを送信できる。1件が処理された後も、残りの受信や検証がバリデーターの負荷になるため、スパムに利用されている。6月の改善提案に関する議論では、同機能を利用したトランザクションが一定期間の全取引の約3.1%を占め、優先手数料全体の約30%を支払っていたとの分析が示された。

こうした問題への対応として、ソラナ財団はオフラインで作成した署名をブロックチェーン上のプログラムで検証する方式を検討している。新しい方式では、署名の検証や同じ取引の重複実行を防ぐ処理をオンチェーンプログラムが担当する。これにより、オフライン署名を利用できる状態を維持しながら、バリデーターによる例外的な処理をなくすことを目指す。

現在、デュラブルナンスに代わる技術の候補として、アンザの「プログラマティック・サイナー(Programmatic Signer)」とブルーシフト(Blueshift)の「ベクター(Vector)」が開発されている。プログラマティック・サイナーは開発ネットワークに導入済みだが、監査前の段階にあり、具体的にどの実装を採用するかは決定していない。また、新しい方式では、トランザクションの実行に失敗しても署名済みのメッセージを再利用できる一方、署名による承認が有効な間は、その署名に基づく取引が後から実行される可能性もある。

今後、ソラナ財団は、こうした新しい署名方式が監査を経てメインネットで利用可能になってから約6カ月の移行期間を設ける予定だ。具体的な廃止日は未定で、デュラブルナンスを利用する取引所やカストディアンなどには新しい署名方式への移行が必要となる。一方、通常のトランザクションを利用するユーザーには対応は求められない。

ドリフトへの攻撃でもデュラブルナンスが利用

デュラブルナンスは、今年4月にソラナ上の分散型取引所(DEX)ドリフト(Drift Protocol)から約2億9,570万ドル(約467.2億円)相当の資産が流出した攻撃でも利用されていた。ドリフトは4月2日の調査報告で、攻撃者が同機能を利用して事前に署名されたトランザクションを後から実行し、プロトコルの管理権限を不正に取得したと説明した。

ドリフトによると、攻撃者は3月23日からデュラブルナンス用のアカウントを準備し、プロトコルの重要な操作を承認する複数署名方式「マルチシグ」で必要となる5人中2人の承認を事前に取得していた。その後、4月1日に事前署名された2件のトランザクションを実行し、管理権限を奪取したとのことだ。これにより、攻撃者は不正な資産を追加し、出金制限を解除して資金を流出させたとされる。

また、ドリフトは、攻撃者とみられるグループが2025年秋ごろから定量トレーディング企業を装って関係者に接触し、約半年にわたって信頼関係を構築していた可能性を報告している。同プロトコルは、事前の承認取得に、人間の信頼や判断を悪用する「ソーシャルエンジニアリング」が利用された可能性を指摘した。デュラブルナンスによって、署名を取得した時点とトランザクションを実行する時点を分離できたことが、攻撃の特徴となっている。

参考:ソラナ1・ソラナ2・ギットハブ1・ギットハブ2
画像:PIXTA

関連ニュース

関連するキーワード

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

渡邉洋輔

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

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

合わせて読みたい記事

【11/10話題】NYSE関連のトークン化証券基盤にアバランチ、デジガレの決済基盤がアーク上のUSDCに対応、バイナンス流出資産を北朝鮮が自作ミームコインで洗浄かなど(音声ニュース)

ブロックチェーン・仮想通貨(暗号資産)・フィンテックについてのニュース解説を「あたらしい経済」編集部が、平日毎日ポッドキャストでお届けします。Apple Podcast、Spotify、Voicyなどで配信中。ぜひとも各サービスでチャンネルをフォロー(購読登録)して、日々の情報収集にお役立てください。

Sponsored