Solanaの開発者たちは、今年初めに発生した2億7,000万ドルのエクスプロイトで主要な侵入経路となった技術機能の廃止を進めています。「durable nonce(永続的ノンス)」として知られるこの機能は、長年ネットワークの一部でした。しかし、トランザクションを無期限に有効な状態に保てるため、攻撃者が4月に取引プロトコル「Drift」から資金を流出させる隙を生みました。

この機能の廃止を求める正式な提案が、2026年11月5日に提出されました。承認されれば、大手取引所やカストディアンは、大規模なコイン移動に関するセキュリティ対策を全面的に見直すことになります。この変更は同様のエクスプロイトからネットワークを守ることを目的としていますが、オフライン署名の管理に利用している、少数ながら多額の手数料を支払うユーザー層から、その手段を奪うことにもなります。

Driftのエクスプロイト

4月、北朝鮮の国家関連組織とつながりのある攻撃者が、分散型取引プラットフォームのDrift Protocolを標的にしました。攻撃者は少なくとも2億7,000万ドルを持ち去りました[1]。この窃取は、単純なフラッシュローンや典型的なスマートコントラクトのバグを利用したものではありませんでした。代わりに攻撃者は、耐久性ノンスを使ってSolanaのトランザクションに通常設けられている有効期限を回避しました。

ネットワーク上のほとんどのトランザクションは、直近のブロックハッシュに紐付けられています。これはタイムスタンプのような役割を果たします。Solanaは現在、200ミリ秒ごとにブロックを処理しているため、こうした標準的なトランザクションは約30秒で失効します[1]。その時間内に処理されなければ、トランザクションは無効になります。これにより、ネットワーク状況が変化した後に古い署名が再利用されるのを防ぎます。

Driftへの攻撃者は別の手段を取りました。あらかじめ署名済みの承認を取得し、それらのトランザクションを1週間以上、実行されないまま放置したのです[1]。これらのトランザクションは耐久性ノンスの仕組みを利用していたため、失効しませんでした。4月1日、攻撃者は事前署名済みのトランザクションをブロードキャストし、プラットフォームの資金を空にしました[1]。署名済みの命令を数日、あるいは数週間にわたって有効なままにできる機能こそ、新たな提案が廃止を目指しているものです。

技術的な仕組み

問題の核心は、Solanaがトランザクションの有効期限をどのように処理するかにあります。通常、すべてのトランザクションには直近のブロックから取得した値が必要です。これにより、署名時点のネットワーク状態が、実行時点の状態と大きく離れないようにしています。

耐久性ノンスは、署名後すぐにトランザクションをブロードキャストできないユーザーが抱える特定の問題を解決するために設計されました。これは、エアギャップ環境で署名を行うカストディアンや大手取引所にとってよくある要件です。こうした環境では、秘密鍵を保持するコンピューターはインターネットに一切接続されません。人間がオフラインのマシンからオンラインのマシンへ、トランザクションデータを手作業で移す必要があります。この作業に30秒以上かかると、標準的なSolanaトランザクションはネットワークに届く前に失効してしまいます。

耐久性ノンスは、標準的なブロックハッシュを、ブロックチェーン上の特定のアカウントに保存された一意の値に置き換えます。そのアカウントに変更がない限り、署名済みのトランザクションは有効なままです。つまり、トランザクションは実行されるか、ノンスが手動で更新されるまで、事実上無期限に有効となります。高いセキュリティが求められる業務に柔軟性をもたらす一方で、有効期限による安全策がなくなり、遅れて実行されるエクスプロイトから大半のユーザーを守る仕組みが失われます。

提案のスケジュール

この機能の廃止に向けた取り組みは、AnzaのエンジニアであるGabe Rodriguez氏が主導しています。Anzaは、Solanaネットワークで使われている主要なバリデーターソフトウェアの保守を担う企業です。Rodriguez氏は2026年11月5日、SIMD-0723として知られる提案を提出しました[1]。

この提案は、耐久性ノンスが長年にわたりバグや不安定性の原因となってきたと主張しています。Driftのハッキングに加え、文書では2022年の事例も挙げられています。この事例では、失敗したトランザクションが標準的なブロックハッシュ経由とノンス経由の両方で同時に処理されました。このエラーにより、Solanaのメインネットは約4.5時間停止しました[1]。

現在の草案では、2027年5月5日より前にメインネット・ベータでこの機能が無効化されることはありません[1]。このスケジュールは、ユーザーがシステムを移行するために少なくとも6カ月の猶予を確保することを目的としています。ただし、Solana Foundationは、耐久性ノンスに代わる実用的な機能が完全に準備できるまで、猶予期間のカウントが始まらない可能性を示しています。代替機能の導入が遅れれば、最終的な期限は2027年のさらに後半にずれ込む可能性があります。

この提案を進めるには、少なくとも2つの主要な関係者による技術的な承認が必要です。変更をネットワークのコードに取り込む前に、Anzaのエンジニア1人とFiredancerチームのエンジニア1人が承認しなければなりません[1]。FiredancerはJump Cryptoが開発している独立系バリデータークライアントであり、その承認は大規模なプロトコル変更における標準的な要件です。

影響を受けるユーザー

耐久性ノンスはニッチな機能ですが、ネットワークの経済活動のかなりの部分を占めています。研究者のMax Resnick氏のデータによると、6月の計測期間中、耐久性ノンスを使ったトランザクションはSolanaのトラフィックの約3%にすぎませんでした[1]。しかし、同じ期間にバリデーターへ支払われた優先手数料全体の30%を、これらのトランザクションが占めていました[1]。

優先手数料とは、トランザクションを迅速に処理してもらうためにユーザーが上乗せするチップです。トラフィックの3%が手数料の30%を支払っているという事実は、耐久性ノンスの利用者が、コストよりも速度や信頼性を重視する大規模な機関投資家や自動化システムであることを示唆しています。

データからは、利用がごく一部に集中していることも分かります。耐久性ノンスを使ったトランザクションの97.5%は、わずか555の個別アカウントによるものでした[1]。この活動の一部は「耐久性ノンス・スパム」によるものとされています。これは、この機能を悪用し、持続的なトランザクションを大量にネットワークへ送りつける行為です。残りの大半は、エアギャップ署名に依存するカストディアンや取引所です。この機能が廃止されれば、これら555のアカウントは新たな運用方法を見つけなければなりません。

今後の代替手段

耐久性ノンスが廃止されても、Solanaでエアギャップ署名が不可能になるわけではありません。代わりに開発者は、署名を処理するオンチェーンプログラムの利用を促されています。この提案では、主な選択肢としてAnzaのProgrammatic SignerとBlueshiftのVectorが挙げられています[1]。

これらのプログラムは仲介役として機能します。トランザクション自体を有効にするのではなく、ブロックチェーンに保存された特定のルールに照らして、オフライン署名をプログラムが検証します。これにより、ノンスに関連する同種のアカウントロックのバグにネットワークをさらすことなく、署名に使える時間を延ばせます。

ただし、こうした新しい方法にも独自のリスクがあります。草案では、新しいプログラムで実行に失敗すると、承認が引き続き利用可能な状態になる恐れがあると警告しています[1]。従来のシステムでは、トランザクションが失敗すると、通常はノンスが消費されるか、ブロックハッシュが失効していました。提案されている代替手段では、送信に失敗することは取り消しと同じではありません。送金の失敗を確認したカストディ業務担当者は、承認が無効になったと自動的に判断できません。署名が再利用されないようにするには、追加の措置が必要となる場合があります。

Solana Foundationは10月にこの機能を段階的に廃止する計画を発表していましたが、SIMD-0723によって移行に向けた具体的な日程が初めて示されました。現在、この提案はAnzaおよびFiredancerのチームによる技術審査を待っています。

出典

1. CoinDesk、「Solana、2億7,000万ドルのDriftハッキングで悪用されたトランザクション機能の廃止へ」、https://www.coindesk.com/tech/2026/11/09/solana-moves-to-scrap-the-transaction-feature-used-in-the-usd270-million-drift-hack

チャートと全出典一覧:https://amk.news/article/solana-to-scrap-transaction-feature-after-270m-drift-hack