Vitalikの新しい記事:もし量子攻撃が明日来たら、イーサリアムはどのように問題を解決するのか?
原文作者:Vitalik Buterin
译者:Azuma,Odaily星球日报
3月9日、イーサリアム共同創設者のVitalik Buterinは、イーサリアム研究フォーラム(ethresear.ch)において「突然の量子攻撃からユーザー資金を救うためのハードフォークの方法」という題で短文を発表しました。
文中で、Vitalikは量子攻撃が明日発生する場合、イーサリアムが緊急時にユーザー資金の損失を最小限に抑える方法と、どのような手続きを通じて量子耐性の形態に移行し、正常な運用を回復するべきかを概説しました。
以下はVitalikの全文内容で、Odaily星球日报によって翻訳されています。
量子コンピュータが明日実現し、悪意のある者が何らかの方法でそのアクセス権を取得し、ユーザー資金を盗むために利用しようとした場合、私たちはどうすればよいのでしょうか?
Winternitz署名やSTARKsなどの量子耐性技術の開発は、このような事態を防ぐために行われています。アカウント抽象が準備できれば、すべてのユーザーはランダムに量子耐性の署名スキームに切り替えることができます。しかし、私たちに時間がない場合、量子攻撃の到来が誰も想像していたよりも突然であった場合、私たちはどうすればよいのでしょうか?
私は、実際には、比較的簡単な回復的ハードフォーク(recovery fork)を通じてこの問題を解決するための十分な条件がすでに整っていると考えています。 この解決策により、イーサリアムネットワークはハードフォークを行う必要があり、ユーザーは新しいウォレットソフトウェアをダウンロードしなければなりませんが、資金を失うユーザーはごくわずかで済むでしょう。
量子攻撃の主な脅威は以下の通りです。イーサリアムアドレスは、keccak(privtopub(k))[ 12:] の計算によって得られます。ここでkは秘密鍵に対応し、privtopubは秘密鍵を公開鍵に変換するための楕円曲線乗法に対応します。
量子計算が実現すると、上記の楕円曲線乗法は可逆的になります(これは実際には離散対数問題の解決です)が、ハッシュ計算は依然として安全です。ユーザーが取引を行っていない場合、公開されるのはアドレス情報のみであり、この場合彼らは依然として安全です。しかし、ユーザーが一度でも取引を行った場合、取引署名は公開鍵を暴露し、量子コンピュータの前では秘密鍵が暴露される可能性があります。このため、この状況下ではほとんどのユーザーがリスクにさらされることになります。
しかし、私たちはこの脅威を緩和する方法を持っています。その鍵となるのは、実際にはほとんどのユーザーの秘密鍵が一連のハッシュ計算によって生成されているということです。例えば、多くの秘密鍵はBIP-32規格を使用して生成されており、これは一連の助記詞に基づいて一連のハッシュ計算によって生成されます。多くの非BIP-32の秘密鍵生成方法も似たようなもので、例えばユーザーが脳財布を使用している場合、それは通常、あるパスワードが一連のハッシュ計算(または中程度の難易度の鍵派生関数)を経て生成されます。
これは、突発的な量子攻撃に対処するための回復的ハードフォークの解決策が以下のステップを取ることを意味します:
- 第一に、大規模攻撃発生後のすべてのブロックをロールバックします;
- 第二に、EOAアドレスに基づく従来の取引モードを無効にします;
- 第三に(その時点でまだ実装されていない場合)、スマートコントラクトウォレット(例えばRIP-7560の一部内容)を通じて取引を行うための新しい取引タイプを追加します;
- 第四に、新しい取引タイプまたはオペコードを追加し、ユーザーがSTARK証明を提供できるようにします。証明が通過すれば、ユーザーアドレスのコードは全く新しい検証済みコードに切り替わり、その後ユーザーは新しいコードアドレスをスマートコントラクトウォレットとして使用できます。
- 第五に、Gasの節約を考慮し、STARK証明のデータ量が大きいため、同時に複数の上記タイプのSTARK証明を行うためのバッチSTARK証明をサポートします。
原則として、明日からこの回復的ハードフォークを実現するために必要なインフラの開発を開始できるため、イーサリアムエコシステムは突発的な量子攻撃に備えることができます。