原作者: ヴィタリック・ブテリン
翻訳者:吾妻央

3月9日、イーサリアムの共同創設者ヴィタリック・ブテリン氏は、イーサリアム研究フォーラム(ethresear.ch)に「ハードフォークによる突然の量子攻撃からユーザー資金を救出する方法」というタイトルの短い記事を公開した。
記事の中でヴィタリック氏は、量子攻撃が明日発生した場合に、緊急時にイーサリアムがどのようにしてユーザー資金の損失を最小限に抑えることができるのか、そして量子耐性のある形式に切り替えて通常の運用を再開するにはどのような手順を使用する必要があるのかについて概説しています。

以下はOdailyがまとめたVitalikの全文である。
明日、量子コンピューターが利用可能になり、悪意のある攻撃者が何らかの方法でそれにアクセスし、それを使用してユーザーの資金を盗もうとした場合、私たちはどうすればよいでしょうか?
Winternitz 署名や STARK などの耐量子技術は、このような事態を防ぐために開発されたもので、アカウント抽象化の準備が整うと、どのユーザーも耐量子署名スキームにランダムに切り替えることができます。しかし、それほど時間がなく、量子攻撃が誰もが思っているよりも突然襲来した場合はどうすればよいでしょうか?
私は思う、実際、現在、比較的単純なリカバリ フォークを通じてこの問題を解決するのに十分な条件が揃っています。このソリューションでは、イーサリアム ネットワークはハード フォークを行う必要があり、ユーザーは新しいウォレット ソフトウェアをダウンロードする必要がありますが、資金を失う可能性があるユーザーは少数です。
量子攻撃による主な脅威は以下の通りです。 Ethereum アドレスは、keccak(priv_to_pub(k))[12:] 関数を実行することによって取得されます。ここで、k は秘密鍵に対応し、priv_to_pub は秘密鍵を公開鍵に変換するために使用される楕円曲線乗算に対応します。 。
量子コンピューティングが実現すると、上記の楕円曲線の乗算は可逆になりますが(実際にはこれが離散対数問題の解となるため)、ハッシュ演算は依然として安全です。ユーザーが取引を行っていない場合は、アドレス情報のみが公開されるため安全ですが、ユーザーが 1 回でも取引を行っている限り、取引の署名によって公開鍵が公開されるため、これは不可能です。量子コンピュータでは秘密鍵が公開される可能性があります。したがって、この場合、ほとんどのユーザーが危険にさらされることになります。
しかし、実際にはこの脅威を軽減する方法があり、重要な点は、実際には、ほとんどのユーザーの秘密鍵は一連のハッシュ操作を通じて生成されるということです。たとえば、多くの秘密キーは、一連のニーモニック ワードに基づく一連のハッシュ操作を通じて生成される BIP-32 仕様を使用して生成されますが、非 BIP-32 秘密キーの生成方法の多くはほぼ同様です。ユーザーが使用するこれはブレインウォレットであり、通常はパスワードの一連のハッシュ操作 (または中程度に難しいキー導出関数) によって生成されます。
これは、修復フォークを介した突然の量子攻撃に対する解決策には次の手順が必要であることを意味します。
まず、大規模な攻撃後にすべてのブロックをロールバックします。
次に、EOA アドレスに基づく従来のトランザクション モードを無効にします。
第三に、(それまでにまだ実装されていない場合) スマート コントラクト ウォレット (RIP-7560 の一部など) を介したトランザクションを許可する新しいトランザクション タイプを追加します。
第 4 に、ユーザーが STARK 証明を提供できる新しいトランザクション タイプまたは操作コードを追加します。証明が合格すると、ユーザーのアドレスのコードが新しい検証済みコードに切り替わり、ユーザーは新しいコード アドレスを使用できるようになります。スマートコントラクトウォレットとして。
第 5 に、Gas を節約する目的と、STARK 証明には大量のデータが必要となるため、上記の複数の種類の STARK 証明を同時に実行するバッチ STARK 証明をサポートします。
原則的には、明日にはこの修復フォークの実装に必要なインフラストラクチャの開発を開始できるため、突然の量子攻撃が発生した場合にイーサリアムエコシステムを準備できるようになります。


