Während des Starts des Frontier-Netzwerks wurden Benutzer davor gewarnt, Schlüssel aus dem olympischen Testnetz wiederzuverwenden, um "Wiederholungsangriffe" zu verhindern. Was ist ein Replay-Angriff und warum würde die Wiederverwendung eines Schlüssels aus dem Testnetz jemanden anfällig für einen solchen machen?
Ein Replay-Angriff ist eine gültige Datenübertragung, die böswillig oder betrügerisch wiederholt oder verzögert wird.
Ausgedehnt auf Blockchains nimmt ein Replay-Angriff eine Transaktion auf einer Blockchain und wiederholt sie böswillig oder betrügerisch auf einer anderen Blockchain.
Zum Beispiel nimmt ein Angreifer die Testnet-Transaktion von jemandem und wiederholt sie auf der „echten“ Blockchain, um „echte“ Gelder zu stehlen.
Wie @libertylocked kommentierte, wurde EIP 155 Simple Replay Attack Protection implementiert.
In Bitcoin verwenden Adressen im Testnetz ein anderes Präfix als Adressen im Hauptnetz: Daher sind die Schlüssel unterschiedlich.
In Ethereum gibt es derzeit keine „Präfixe“. (Wahrscheinlich, um die Erstellung neuer Adressen einfacher zu halten.) Eine Transaktion, die mit einem Schlüssel signiert ist, der in einem Ethereum-Netzwerk / einer Ethereum-Kette gültig ist, gilt für alle Ethereum-Ketten.
Dies bedeutet, dass, wenn beim „Testen“ Gelder von Konto B an Konto Test gesendet werden, dieselbe Transaktion an die öffentliche Ethereum-Blockchain wiederholt (gesendet) werden kann: ein Replay-Angriff. Der Replay-Angriff wird „erfolgreich“, wenn Konto B Geld in der öffentlichen Blockchain hat. Um vollständig erfolgreich zu sein, müsste ein Angreifer den privaten Schlüssel von accountTest kennen, um die Gelder zu stehlen, aber da accountTest zum Testen erstellt wurde, ist sein privater Schlüssel möglicherweise nicht sicher (vielleicht ist es nur eine „Brainwallet“ mit dem Passwort „test“. ).
Replay-Angriffe werden eliminiert, indem unterschiedliche Adressen/Schlüssel zwischen dem Frontier-Netzwerk und allen anderen Ethereum-Ketten verwendet werden. (Ein bisschen wie die Verwendung eines anderen Passworts für wertvolle Dinge von weniger wertvollen oder weniger vertrauenswürdigen Websites.) Siehe auch: Wie kann man einen Replay-Angriff zwischen zwei konkurrierenden Ketten verhindern? und wie im @libertylocked-Kommentar erwähnt, wurde EIP 155 Simple Replay Attack Protection implementiert.
Dies bedeutet, dass eine Transaktion, die im Olympic Testnet gültig war, auch für die nächste Version (Frontier) gültig war.
Wenn Sie in Olympic eine Transaktion T durchgeführt haben, die Ether von Adresse A nach B sendet, und dann den Schlüssel hinter Adresse A in der Frontier-Version wiederverwenden, könnte diese Transaktion T erneut gesendet (wiederholt) werden und die Übertragung von A nach B würde stattfinden Frontier, auch wenn Sie (Eigentümer von A) dies nicht beabsichtigten.
Deshalb wurden die Leute gebeten, Schlüssel nicht wiederzuverwenden.
Um Replay-Angriffe zu vermeiden, verwenden Sie EIP155- Transaktionstypen, die seit Block 2675000 verfügbar sind. Sie chainID
werden in die Transaktionssignatur integriert. Stellen Sie sicher, dass Ihre Wallet-Software EIP155-fähig ist, und Sie sind sicher
Thomas Cloes
Gr.
eth
eth
libertylocked
CHAIN_ID
als Teil des Wiederherstellungsbytes bei der Überprüfung der Transaktionssignatur eingeführt. Daher haben Transaktionen, die in einem Netzwerk gesendet werden, nicht die richtige Signatur auf einer anderen Ketten-ID