Ursprünglicher Autor: Vitalik Buterin
Übersetzer: Odaily Planet Daily Azuma

Am 9. März veröffentlichte Ethereum-Mitbegründer Vitalik Buterin einen kurzen Artikel im Ethereum Research Forum (ethresear.ch) mit dem Titel „How to Rescue User Funds from Sudden Quantum Attacks through Hard Forks“.
In dem Artikel erläutert Vitalik, wie Ethereum im Notfall den Verlust von Benutzergeldern minimieren kann, wenn es morgen zu einem Quantenangriff kommt, und welche Verfahren es anwenden sollte, um in eine quantenresistente Form zu wechseln und dann den normalen Betrieb wieder aufzunehmen.

Das Folgende ist der vollständige Text von Vitalik, zusammengestellt von Odaily Planet Daily.
Was würden wir tun, wenn morgen ein Quantencomputer verfügbar würde und ein böswilliger Akteur sich irgendwie Zugang dazu verschaffte und ihn nutzen wollte, um Benutzergelder zu stehlen?
Um dies zu verhindern, wurden quantenresistente Technologien wie Winternitz-Signaturen und STARKs entwickelt. Sobald die Kontoabstraktion fertig ist, kann jeder Benutzer nach dem Zufallsprinzip zu einem quantenresistenten Signaturschema wechseln. Aber was machen wir, wenn wir nicht so viel Zeit haben und ein Quantenangriff plötzlicher kommt, als alle denken?
Ich denke, wir haben tatsächlich genügend Voraussetzungen, um dieses Problem durch eine relativ einfache Wiederherstellungsgabel zu lösen. Mit dieser Lösung muss das Ethereum-Netzwerk einem Hard Fork unterzogen werden und Benutzer müssen neue Wallet-Software herunterladen, aber nur eine kleine Anzahl von Benutzern kann ihr Geld verlieren.
Die Hauptbedrohungen durch Quantenangriffe sind wie folgt. Die Ethereum-Adresse wird durch Ausführen der Funktion keccak(priv_to_pub(k))[ 12:] erhalten, wobei k dem privaten Schlüssel und priv_to_pub einer elliptischen Kurvenmultiplikation entspricht, die zum Konvertieren des privaten Schlüssels in einen öffentlichen Schlüssel verwendet wird .
Wenn Quantencomputer realisiert werden, wird die obige Multiplikation mit elliptischen Kurven reversibel (da dies tatsächlich die Lösung des Problems des diskreten Logarithmus ist), aber die Hash-Operation ist immer noch sicher. Wenn der Benutzer keine Transaktionen durchgeführt hat, werden nur die Adressinformationen offengelegt. In diesem Fall sind diese immer noch sicher. Solange der Benutzer jedoch auch nur eine Transaktion durchgeführt hat, wird durch die Transaktionssignatur der öffentliche Schlüssel offengelegt, was unmöglich ist B. in Quantencomputern. Es besteht die Möglichkeit, den privaten Schlüssel offenzulegen. In diesem Fall sind also die meisten Benutzer gefährdet.
Aber wir haben tatsächlich Möglichkeiten, diese Bedrohung abzuschwächen. Der entscheidende Punkt ist, dass in der Praxis die privaten Schlüssel der meisten Benutzer durch eine Reihe von Hash-Operationen generiert werden. Beispielsweise werden viele private Schlüssel mithilfe der BIP-32-Spezifikation generiert, die durch eine Reihe von Hash-Operationen basierend auf einer Reihe von mnemonischen Wörtern generiert wird. Viele nicht-BIP-32-Methoden zur Generierung privater Schlüssel sind nahezu ähnlich, z. B. if Der Benutzer verwendet Es handelt sich um eine Brain Wallet, die normalerweise durch eine Reihe von Hash-Operationen (oder eine mittelschwere Schlüsselableitungsfunktion) eines Passworts generiert wird.
Das bedeutet, dass eine Lösung für einen plötzlichen Quantenangriff über eine Wiederherstellungsgabel die folgenden Schritte umfassen würde:
Führen Sie nach dem groß angelegten Angriff zunächst einen Rollback aller Blöcke durch.
Zweitens: Deaktivieren Sie den traditionellen Transaktionsmodus basierend auf EOA-Adressen.
Drittens (falls bis dahin noch nicht implementiert) fügen Sie einen neuen Transaktionstyp hinzu, um Transaktionen über Smart Contract Wallets (z. B. Teile von RIP-7560) zu ermöglichen;
Viertens fügen Sie einen neuen Transaktionstyp oder Operationscode hinzu, über den Benutzer einen STARK-Beweis erbringen können. Wenn der Beweis bestanden wird, wird der Code der Benutzeradresse in einen neuen verifizierten Code geändert, und dann kann der Benutzer die neue Codeadresse verwenden als Smart Contract Wallet. .
Fünftens: Um Gas zu sparen und aufgrund der großen Datenmenge, die für STARK-Proofe erforderlich ist, werden wir Batch-STARK-Proofe unterstützen, um mehrere STARK-Proofe der oben genannten Typen gleichzeitig durchzuführen.
Im Prinzip könnten wir morgen mit der Entwicklung der Infrastruktur beginnen, die für die Implementierung dieser Wiederherstellungsgabel erforderlich ist, damit das Ethereum-Ökosystem auf einen plötzlichen Quantenangriff vorbereitet ist.
