Wie kann ich meine ETH und ETC aufteilen, wenn ich ein Konto habe, das eine Transaktion mit dem WithdrawDAO-Vertrag durchgeführt hat?

Sagen wir:

  • Ich besitze Konto A, das vor DAO ein Guthaben von 100 ETH hatte.
  • Pre-Fork Ich habe 50 ETH von A -> DAO gesendet.
  • Post-Fork hatte ich 50 ETHF und 50 ETHC in A.
  • Post-Fork Ich habe eine Transaktion mit dem WithdrawDAO-Vertrag durchgeführt, also hat Konto A jetzt 100 ETHF und 50 ETHC (natürlich ohne Gas).

Wie teile ich ETHF und ETHC in Konto A auf?

Mein Gedanke ist, dass ich, anstatt einen Splittervertrag zu verwenden, einfach eine Transaktion durchführen könnte, um die 100 ETHF auf ein neues Konto B einzuzahlen. Wenn mein Verständnis richtig ist, würde die Transaktion, wenn sie auf der klassischen Kette wiederholt würde, einfach aufgrund von Unzulänglichkeit fehlschlagen Geldern und wäre damit immun gegen einen Replay-Angriff.

Wenn ja, dann an dieser Stelle:

  • Konto A hat 0 ETHF, 50 ETHC.
  • Konto B hat 100 ETHF, 0 ETHC.

Und mein Äther wäre sauber aufgeteilt. Ist das richtig? Meine Vermutung ist, dass Ethereum-Transaktionen komplett scheitern, wenn das Guthaben nicht ausreicht, anstatt die Transaktion teilweise zu erfüllen. Ich will nur sicher gehen, dass ich nichts übersehe.

Antworten (2)

Du hast Recht. Tatsächlich könnten Sie es als Methode zum Aufteilen von verwenden .

Danke, verstanden! Was ich beschreibe, ist im Wesentlichen Schritt 4: Leeren Sie das Konto mit dem höchsten Guthaben vollständig an eine neue Adresse.

Diese Methode funktioniert, ist aber nicht endgültig: Abhängig von Ihrer zukünftigen Verwendung der Adressen könnten Sie (eigentlich eher wahrscheinlich) in Zukunft auf Probleme stoßen.

Das Problem ist, dass die Transaktionen, die jetzt aufgrund eines niedrigen Guthabens fehlschlagen, in Zukunft noch gültig werden können, wenn etwas mehr Geld an die Ursprungsadresse eingezahlt wird. Wenn (wann?) Sie (oder irgendjemand) 50 ETHC an Adresse A einzahlen (kumulativ könnten dies mehrere Transaktionen sein), kann und wird die Transaktion, die 100 ETHF an B bewegt hat, möglicherweise und wahrscheinlich in der ETHC-Kette wiederholt und Sie landen bei ETHC auf Adresse B, was Sie nicht wollen.

Nicht, dass genau das obige Szenario nicht passieren wird, wenn Sie etwas ETHC von A senden, bevor sein Guthaben 100 erreicht (aufgrund der Ausgabentransaktion, die die Nonce des potenziell wiederholbaren tx verwendet); aber ähnliche Szenarien können jederzeit später in der Zukunft eintreten.

Dies ist keine theoretische, unwahrscheinliche Situation. Ich habe Transaktionen gesehen, die auf der ETHC-Kette in sehr ähnlichen Szenarien wie oben wiedergegeben wurden, 12 Tage nachdem sie auf der ETHF-Kette bestätigt wurden.

Sie sollten zumindest alle ETHC von A an eine neue Adresse C verschieben und dann nie wieder A (in irgendeiner Kette) oder B in der ETHC-Kette oder C in der ETHF-Kette verwenden.

(Dies ist leider immer noch keine endgültige Lösung, da andere Personen möglicherweise ohne Ihre Zustimmung Gelder an Ihre Adressen senden, aber das ist eher unwahrscheinlich und hauptsächlich ihr Problem. Ich denke nicht, dass es eine Methode für eine vollständige, endgültige / abschließende ETHC / ETHF-Spaltung gibt gibt es tatsächlich.)