Wie funktioniert ein Hard Fork Rollback von Transaktionen?

Ich bin neu bei Ethereum. Ich bin verwirrt darüber, wie Hard Fork im Detail funktioniert. Ich habe viele Antworten gelesen, wie: https://ethereum.stackexchange.com/a/6390 https://ethereum.stackexchange.com/a/6269

Im ersten Link lautet die Antwort: „Es ist ähnlich, eine neue Blockchain mit einem neuen Initialisierungspunkt zu erstellen. Wir könnten einen Hard Fork erstellen, in dem wir alle vom Hacker durchgeführten DAOs-Transaktionen rückgängig machen.“ Was bedeutet "ein neuer Initialisierungspunkt"? Wie funktioniert "Rollback"? Kann mir jemand ein detailliertes Beispiel geben? Danke vielmals!

Antworten (2)

Um die Transaktionen rückgängig zu machen, nehmen Miner neue Regeln an, die einige gültige Blöcke ungültig machen, daher sind die zugehörigen Transaktionen ebenfalls ungültig, also stornieren wir diese Transaktionen und kehren zum vorherigen Zustand zurück. Dazu brauchen wir eine Gabel. Was in der Hardfork im Falle des Dao passiert ist, ist: Wir haben die Kette bei Block 1920000 geforkt, wodurch alle Blöcke ungültig werden, die nach dem Bild unten kommen.

Block 1920000 beinhaltete die Durchführung einer irregulären Zustandsänderung, die ~12 Millionen ETH aus den „Dark DAO“- und „Whitehat DAO“-Verträgen in den WithdrawDAO-Wiederherstellungsvertrag überführte.

Geben Sie hier die Bildbeschreibung ein

Um mehr zu verstehen, können Sie die Blöcke in Ethereum und Ethereum Classic durchsuchen und vergleichen: Der letzte gemeinsame Block zwischen der Eteheum-Blockchain und ihrem Fork war z. B. 1919999.

https://etherscan.io/block/1919999

http://gastracker.io/block/1919999

Lesen Sie mehr: https://blog.ethereum.org/2016/07/20/hard-fork-completed/

Die DAO-Hard-Fork unterscheidet sich ein wenig von der jüngsten Hard-Fork, um das Gas neu zu bewerten:

  1. Die DAO-Hard-Fork beinhaltete das Markieren des Hard-Fork-Blocks mit den zusätzlichen Daten „dao-hard-fork“ und die anschließende Übertragung des ETH-Saldos aus allen DAO- und Child-DAO-Verträgen in den Multisig-Vertrag des Kurators. Weitere Einzelheiten finden Sie unter Geben Sie eine Zusammenfassung der Fork-Zustandsänderungen in Block 1920000 .

    Die Transaktionen wurden nicht rückgängig gemacht. Die ETH-Beträge wurden gerade automatisch auf 1.920.000 übertragen.

  2. Die jüngste Hard Fork zur Neubewertung des Gaspreises ist etwas anders. Es gibt kein Rollback von Transaktionen oder Änderungen an den Salden wie bei der DAO-Hard-Fork. In diesem Fall unterscheiden sich die Kosten der Transaktionen auf der Hard-Fork-Kette von den Kosten der Transaktionen auf der Nicht-Hard-Fork-Kette. Aus diesem Grund haben die Blöcke auf der Hard-Fork-Kette andere Gebühren als die Blöcke auf der Nicht-Hard-Fork-Kette.

In beiden Fällen unterscheiden sich die Daten aus der nicht-Hard-Fork-Kette von den Daten in der Hard-Fork-Kette. Und die Knoten-Client-Software auf beiden Ketten wird die Kettendaten der anderen zurückweisen, da die Blöcke aus der alternativen Kette ungültig sein werden.

Bedeutet das, dass die DAO-Hard-Fork „das Hauptbuch geändert hat“, dh alle Informationen darüber, was passiert ist, immer noch da sind und nur Beträge verschoben wurden? Meinen Sie das, wenn Sie sagen, dass Transaktionen nicht rückgängig gemacht wurden, sondern Beträge automatisch überwiesen wurden? cc @Badr Bellaj
Ja. Die DAO Hard Fork hat das Ledger verändert. Alle Pre-Hard-Fork-Informationen sind immer noch vorhanden. Es gibt keine Transaktionen, die die Beträge am Hard-Fork-Block verschoben haben – die Überweisungen sind im Code implementiert. Ja.
Wie ist es möglich, Salden von den DAOs von Dark & ​​Whitehat zu verschieben, indem validierte TXN-Anfragen zu diesen Verträgen übersprungen werden? Kann sich der staatliche Trie-Wechsel, der Balancen berührt, von den anderen Tries entkoppeln?