
著者:Vitalik Buterin;
Quantum Computersが明日発表され、悪い俳優がすでにそれらにアクセスしており、ユーザーの資金を盗むためにそれらを使用できるとします。これを防ぐことは、量子暗号化の目標であり(例:Winternitz Signature、Stark)、アカウントが抽象化されると、すべてのユーザーが計画どおりに量子署名スキームに切り替えることができます。しかし、それほど時間がなく、突然の量子移動がそのずっと前に起こった場合はどうでしょうか?
実際、私たちは準備ができていると思います、この状況に対処するために、非常にシンプルな回復フォークを作成できます。ブロックチェーンはハードフォークする必要があり、ユーザーは新しいウォレットソフトウェアをダウンロードする必要がありますが、お金を失うユーザーはほとんどいません。
量子コンピューターの主な課題は次のとおりです。Ethereumアドレスは、Keccak(priv_to_pub(k))[12:]として定義されます。ここで、kは秘密鍵であり、priv_to_pubは秘密キーを公開キーに変換する楕円曲線の増殖です。量子コンピューターを使用すると、楕円曲線の乗算は可逆的になります(離散対数問題であるため)が、ハッシュは依然として安全です。ユーザーがアカウントで取引を行っていない場合、アドレスのみが公開されており、すでに安全です。ただし、ユーザーがトランザクションを作成した場合、そのトランザクションの署名が公開キーを明らかにします。したがって、ほとんどのユーザーは攻撃に対して脆弱です。
しかし、私たちはより良くすることができます。重要な理解は、実際には、ほとんどのユーザーのプライベートキーは、自体のハッシュ計算の束の結果です。多くのキーがBIP-32を使用して生成され、メインシードフレーズから始まる一連のハッシュ値を介して各アドレスを生成します。多くの非BIP-32キー生成方法も同様に機能します。たとえば、ユーザーが脳の財布を持っている場合、通常、特定のパスワードに適用される一連のハッシュ値(または適度に難しいKDF)です。
これはつまりEIPの自然構造は、硬い分岐チェーンを介して量子緊急事態から回復します。
-
明らかに大規模な盗難があった最初のブロックの後にすべてのブロックを回復します。
-
従来のEOAベースのトランザクションは無効になっています。
-
まだ利用できない場合は、スマートコントラクトウォレット(RIP-7560の一部など)からのトランザクションを許可する新しいトランザクションタイプを追加しました。
-
新しいトランザクションタイプまたはオペコードを追加します。これにより、Stark Proof、Proof(i)Private Image X、(ii)Hash Function Id approved Hash Function List 1< = i< a、keccak(priv_to_pub(hashes [i](x)))[12:] = A。また、Starkは、新しい検証コードのハッシュ値をパブリック入力アカウントとして受け入れます。証明が通過した場合、アカウントコードは新しい検証コードに切り替わります。それ以降、スマートコントラクトウォレットとして使用できます。
ガス効率の理由で(すべてのスタークが非常に大きい)、スタークをバッチプルーフにすることができ、上記のタイプのn星を証明することができます(各ユーザーのxが複数の宣言を直接証明するのではなく、直接スタークである必要があります。アグリゲーターの機密性が必要です)。
原則として、このようなハードフォークを実装するインフラストラクチャは、明日建設を開始できるため、量子緊急事態が発生した場合に備えてイーサリアムエコシステムが完全に準備されています。