Ethereum(イーサリアム)の研究者Justin Drake氏は2026年10月7日、AIによる数学研究の急速な進歩が暗号資産の電子署名技術を脅かす可能性があるとして、落ち着いて防御策を準備する「バンカーモード」を呼びかけた。共同創設者のVitalik Buterin氏も8日(日本時間)、未知の数学的攻撃に備える必要性に賛同する一方、ウォレットの移行を急ぐべきではないと訴えた。ただし、両氏の発言は暗号の解読に成功したという報告ではなく、最近の研究成果を踏まえた個人的なリスク評価である。公開鍵を隠す当面の対策と、ネットワーク全体で署名方式を置き換える長期的な対策では、対応できるリスクも準備に必要な時間も異なる。

AD

「数カ月で暗号が破られる」という懸念と、AI数学研究の実際の成果

Drake氏が警戒しているのは、送金の承認などに使われる電子署名方式「ECDSA」が、現在の公開鍵暗号を破れるほど強力な量子コンピューターの登場を待たずに、安全性を失う可能性だ。

同氏は、最悪の場合、その脅威が「数年ではなく数カ月」で現れるかもしれないと警告した。ただし、これは本人が想定する厳しいシナリオであり、暗号が破られる時期を科学的に予測したものではない。

仮に、従来のコンピューターを使って公開鍵から秘密鍵を短時間で導き出せる新たなアルゴリズムが発見されれば、攻撃者は正当な所有者になりすまして資金を移動できるようになる。しかし、Drake氏の投稿には、そのような攻撃手法の具体的な説明も、実際のウォレットから秘密鍵を取り出した実験結果も示されていない。

今回の警告のきっかけとなったのは、OpenAIが10月6日に公開した数学研究の成果だ。

OpenAIは、未公開の社内AIモデルが生成した数学論文の原稿と証明資料をGitHubで公開した。一部の成果には、証明支援システム「Lean」によって形式的に検証できる資料も添えられている。

ただし、数学の新しい成果を外部から検証できるようになったことと、現実的な計算量で暗号を解読できるようになったことは、まったく別の話である。

公開当初の一覧には、722本の原稿が372の研究系列にまとめられている。ここでいう系列とは、中心となる研究成果に加え、補足的な論証や別の証明などをまとめた単位だ。したがって、722件の独立した未解決問題をすべて解決したという意味ではない。

OpenAI自身も、公開した成果の検証状況にはばらつきがあり、誤りが含まれている可能性を認めている。

実際、公開翌日の10月7日付の更新履歴では、符号の誤りによって一つの証明が成立しなくなり、その結果に依存していた原稿を含む3本が撤回された。

さらに、別の14本についても、証明の修正や成立条件の明確化などが行われた。

こうした修正は、公開された研究成果すべての価値を否定するものではない。しかし、公開された論文の本数を、そのまま正しさが確認された研究成果の数として扱うことはできない。Leanによって形式的に検証された証明についても、どの命題を、どのような前提のもとで証明したのかを確認する必要がある。

暗号技術への影響を評価するには、さらに踏み込んだ検証が欠かせない。

Ethereumで実際に使われている楕円曲線と鍵のサイズに対して、どのような攻撃が成立するのか。その攻撃には、どの程度の計算能力と時間が必要なのか。数学研究全般の進歩だけから、実際の暗号を破るための計算コストを推定することはできない。

耐量子暗号も、未知の数学的攻撃から完全に安全とは限らない

Buterin氏が懸念しているのは、現在のECDSAだけではない。将来の量子コンピューターによる攻撃に耐えられると考えられている「格子暗号」についても、AIによる数学研究の進歩が安全性を揺るがす可能性があると指摘した。

格子暗号は、高次元の格子に関する数学的問題を解く難しさを利用する暗号技術の総称だ。電子署名方式のML-DSAや、暗号化したデータを復号せずに計算できる完全準同型暗号(FHE)などに使われている。

Buterin氏は、今後2年間のAIによる数学研究によって、格子暗号の実際の安全性が大きく損なわれる可能性があると予測した。

その説明に用いたのが、RSA暗号に関係する素因数分解アルゴリズムの発展だ。

数学研究によって従来より効率的な攻撃アルゴリズムが発見されれば、同じサイズの鍵を破るために必要な計算量が減る可能性がある。その場合、従来と同じ安全性を確保するには、鍵のサイズや問題の規模を大きくしなければならない。

Buterin氏は、仮にAIが「50年分の数学的進歩を2年間で実現する」のであれば、格子暗号に対しても、素因数分解アルゴリズムの発展に匹敵する大幅な改善が起きるかもしれないと考えている。

もっとも、「2年間」は実験から導き出された期限ではなく、「50年分」という進歩の規模も仮定にすぎない。

同氏は、長期的な安全性が必要な公開鍵暗号について、鍵のサイズを10倍にするという保守的な対応案にも言及した。ただし、これは特定の暗号方式について、安全性を保証できる鍵長を計算した結果ではない。

そもそも、「耐量子暗号」という名称は、将来発見されるあらゆる攻撃に対して安全であることを保証するものではない。

米国立標準技術研究所(NIST)は、既知の古典的な攻撃と量子コンピューターによる攻撃を評価したうえで、2024年8月13日に格子ベースのML-DSAと、ハッシュ関数を利用するSLH-DSAを標準化した。

SLH-DSAは、ML-DSAとは異なる数学的な仕組みに基づいており、格子ベースの署名方式に脆弱性が見つかった場合の代替手段としても位置づけられている。

将来の研究によって暗号方式の安全性に関する前提が変わる可能性を見据え、異なる仕組みの方式を複数用意するという考え方は、すでに標準化の段階で採り入れられている。

実際、量子コンピューターを使わず、数学的な発見によって耐量子暗号の候補が破られた事例もある。

ベルギーのKU Leuvenに所属するWouter Castryck氏とThomas Decru氏は2022年、耐量子暗号の候補だったSIDHに対する新たな攻撃手法を発表した。この研究はEUROCRYPT 2023にも採録されている。

論文の公開要旨によれば、SIKEp434というパラメーター設定に対して、CPUの単一コアで約10分という短時間で鍵を回収できる実装が示された。

ただし、SIDHは格子暗号とは異なる数学的な仕組みに基づく方式であり、この攻撃では通信時に交換する特定の追加情報が利用されていた。また、AIによって発見された攻撃手法でもない。

この事例は、未知の数学的な弱点が見つかれば、それまで安全と考えられていた暗号方式が実用上の安全性を失う可能性を示している。しかし、同じ攻撃手法がML-DSAやECDSAにも通用するという証拠にはならない。

AD

新しいEthereumアドレスで隠せるもの、隠せないもの

Ethereumの一般的な個人アカウントでは、外部から見えるウォレットアドレスと公開鍵は同じものではない。

Ethereumの開発者向け文書によれば、アドレスは公開鍵にKeccak-256というハッシュ関数を適用し、その結果の末尾20バイトを取り出して生成する。

ハッシュ値から元の公開鍵を逆算することが困難である限り、アドレスを知っただけでは、公開鍵を対象とする秘密鍵の回収攻撃をそのまま実行することはできない。

Drake氏が提案した当面の対策は、この仕組みを利用したものだ。

まず、大量の暗号資産を保有し、鍵の管理に十分な知識と経験を持つ保有者から、公開鍵がまだ知られていない新しいアドレスへ計画的に資金を移す。そのアドレスで署名を行った場合には、残った資金も別の新しいアドレスへ移すことを勧めている。

この方法は、公開鍵が外部に知られるまでの時間を延ばすための対策であり、ECDSA自体の安全性を高めるものではない。

また、公開鍵が知られるのは、ブロックチェーン上で送金したときだけではない。

Ethereumでは、署名と署名対象のメッセージから公開鍵を復元できる。そのため、ウォレットを使ってサービスへのログインなどに署名した場合、署名を受け取ったサービス側が公開鍵を知ることもできる。

ブロックチェーン上で一度も送金していないアドレスであっても、別の経路で署名を公開していれば、公開鍵が隠されているとは限らない。

第三者に操作を代行してもらう仕組みでも、同様の注意が必要だ。

例えば、EIP-7702による委任承認では、アカウント所有者が作成した署名を、別の送信者がトランザクションに含めて提出できる。

この承認にも従来と同じ楕円曲線を使った署名が用いられ、署名者を復元する仕組みで検証される。

したがって、「自分のアドレスから送金した履歴がない」という事実だけでは、公開鍵が外部に知られていないと判断できない。

複数の署名者による承認を必要とする「マルチシグ」についても、Buterin氏は、署名をブロックチェーン上ではなく、外部で収集することで公開範囲を抑える方法を提案した。

ただし、この方法でも署名を収集する相手には情報が渡るため、その相手を信頼する必要がある。また、過去に公開された署名を消すことはできない。

新しいスマートコントラクトのアドレスへ資金を移したとしても、承認に使う署名者の鍵がすでに知られていれば、その問題まで解消できるわけではない。

両氏が繰り返し強調しているのは、こうした対策を急いで実施すべきではないという点だ。

Buterin氏は、自身の経験では、ハッキングによる被害よりも、移行作業の失敗によって失った資金の方が多かったと述べている。

将来の数学的攻撃に備える必要があるとしても、準備不足のまま資金を移動させれば、かえって資産を失う危険がある。暗号技術の長期的なリスクと、目の前の移行作業に伴うリスクは、分けて判断しなければならない。

ハッシュベースの署名方式に切り替えると、何が変わるのか

NISTが標準化した署名方式を比較すると、格子暗号に依存しない方式を採用する場合の課題が見えてくる。

ハッシュベースの署名方式は、広く研究されてきたハッシュ関数の性質を利用し、未知の攻撃につながる可能性がある代数的な構造への依存を減らす設計だ。

ただし、数学的な前提が異なれば、鍵や署名のサイズにも大きな違いが生じる。

例えば、同じNISTセキュリティカテゴリ3に分類されるML-DSA-65とSLH-DSA-SHA2-192sを比較すると、公開鍵のサイズはSLH-DSAの方が小さい一方、署名のサイズは大幅に大きくなる。

署名方式・パラメーター 主な数学的前提 NISTセキュリティカテゴリ 公開鍵のサイズ 署名のサイズ
ML-DSA-65 モジュール格子 3 1,952バイト 3,309バイト
SLH-DSA-SHA2-192s ハッシュ関数 3 48バイト 16,224バイト

出典:2024年8月13日に公表されたFIPS 204のTable 2(本文16ページ)と、FIPS 205のTable 2(本文43ページ)。同じセキュリティカテゴリ3のパラメーターを選び、標準仕様に定められた公開鍵と単一署名のサイズを比較した。SLH-DSAの末尾にある「s」は、署名サイズを小さくすることを優先した設定を意味する。

NISTのセキュリティカテゴリは、想定される攻撃に対する耐性を比較するための区分であり、異なる方式の安全性があらゆる条件で同じであることを意味しない。

また、この表は鍵や署名のデータ量を示したものであり、処理速度やEthereum上で必要になるガス代を比較したものではない。

公開鍵が小さければ保管時の負担を減らせる一方、署名が大きければ、大量の署名をネットワーク上でやり取りする際の通信量や保存容量が増える。

したがって、格子ベースとハッシュベースのどちらが優れているかを、鍵や署名のサイズだけで判断することはできない。

Buterin氏が懸念するように、将来の攻撃手法の進歩によって格子暗号のパラメーターを大きくする必要が生じれば、こうした比較も変わる可能性がある。ただし、現時点でハッシュベースの方式があらゆる用途で効率的だと結論づけることはできない。

Ethereumでは、とりわけ合意形成に使う署名のサイズが重要になる。

現在、EthereumのバリデータはBLS署名を使っており、多数の署名を小さく集約することで通信量を抑えている。

Ethereumの耐量子化計画では、BLS署名をハッシュベースの「leanXMSS」に置き換える研究が進められている。しかし、ハッシュベースの署名はサイズが大きく、BLSのように署名を直接集約できないという課題がある。

そこで開発されているのが、最小限の仮想マシン「leanVM」を用い、SNARKによって多数の署名が正しく検証されたことをコンパクトに証明する仕組みだ。

これにより、署名自体が大きくなっても、ネットワーク全体で処理するデータ量を抑えることを目指している。

つまり、耐量子暗号への移行は、単に署名アルゴリズムを別のものへ置き換えるだけでは済まない。署名の生成・検証に加え、証明の作成や集約の仕組みも整備し、通信量や保存容量の増加を抑える必要がある。

なお、表に示したSLH-DSAとEthereumが研究するleanXMSSは異なる方式であり、表の数値がそのままEthereumでの実行性能を表すわけではない。

AD

Ethereumは2029年までに耐量子化できるのか

Ethereum Foundationの耐量子暗号チームは、公式ロードマップで、2029年までにL1の基盤となるプロトコルの更新を完了できる可能性があるとの見通しを示している。

さらにEthereum FoundationのProtocolチームは、2026年9月7日に公開した開発方針で、実行層・合意層・データ層の3層について、2029年12月までに耐量子化するという目標を掲げた。

ただし、これは実現が保証された完了予定日ではない。必要な技術の開発や検証、ネットワーク全体での合意形成などが今後も求められる。

また、プロトコル側の更新が完了しても、すべての利用者が新しい署名方式に移行し終えるわけではない。

Ethereum Foundationの耐量子チームも、利用者のアカウントを含む実行層全体での移行には、さらに数年かかる可能性があると説明している。

Drake氏が懸念するような数学的攻撃が予想より早く実用化した場合、この移行に必要な時間が大きな問題になる。

一方、Buterin氏が長期的に望ましいと考えるハッシュベースの方式と、Ethereumが現時点で採用を検討している署名方式は、必ずしも一致していない。

公式計画では、合意層でハッシュベースの署名方式を研究する一方、利用者のアカウントについては、署名の検証方法を変更できる「アカウント抽象化」を活用し、段階的な移行を進める方針だ。

実行層では、FalconやDilithium、SPHINCS+など、複数の署名方式を候補として評価している。

これは、将来の研究で特定の方式に弱点が見つかった場合でも、別の方式へ切り替えられるようにするためだ。

Buterin氏がハッシュベースの暗号技術を重視しているからといって、格子ベースの暗号方式がEthereumで一律に排除されたわけではない。

暗号技術の移行には、もう一つ重要な時間的な違いがある。

それは、資金の移動を承認する電子署名と、情報を秘密にするための暗号化では、将来の攻撃による影響が異なるという点だ。

仮に将来、電子署名を偽造できる技術が登場しても、過去に確定したすべての送金記録が自動的に書き換わるわけではない。問題になるのは、秘密鍵を不正に取得された場合に、今後の送金を勝手に承認される危険だ。

一方、暗号化されたデータは、後から解読できる手法が発見されれば、過去に保存された内容まで読み取られる可能性がある。

Buterin氏が、プライバシー保護に使う暗号化データをブロックチェーン上に保存するのではなく、チェーンの外で受け渡す方法を勧めるのは、こうした長期的な情報漏洩のリスクを減らすためだ。

もっとも、チェーンの外で扱えば安全性が保証されるわけではない。データの保存先や共有先から漏洩する可能性もあるため、採用する暗号方式の安全性を継続して評価する必要がある。

AIによる暗号解読の脅威を、何で判断すべきか

今回の警告で重要なのは、「あと何カ月で暗号が破られるのか」という予測そのものではない。

実際に使われている鍵のサイズに対して、新しい攻撃手法が成立するのか。その攻撃に必要な計算時間やコストはどれほどか。そして、代替となる署名方式をウォレットやクライアントが安全に扱えるかどうかが、今後の判断材料となる。

現時点で、OpenAIが公開した数学研究によってEthereumのECDSAが破られたという証拠は示されていない。数学研究の進歩が速まっていることと、暗号資産の安全性がすでに失われたことを混同すべきではない。

一方で、新たな攻撃手法が発見されてから、ネットワーク全体の暗号方式を安全に切り替えるまでには長い時間がかかる。そのため、具体的な脅威が確認される前から代替技術を研究し、移行手段を準備しておくことには意味がある。

今求められているのは、暗号資産の保有者が慌てて資金を移動することではなく、将来の攻撃に備えて安全な移行手段を整えることだ。

攻撃の実現可能性と計算コストが明らかになり、代替署名方式の安全性や互換性も十分に検証されれば、Ethereumは新たな数学的発見に対応して暗号技術を更新しやすくなる。その準備をどこまで進められるかが、長期的な安全性を左右する。