Ein festgefahrenes oder ausstehendes Ethereum-Transaktion kann mithilfe von zwei Methoden storniert oder geändert werden: der Stornierung in der Anwendung und der Festlegung eines benutzerdefinierten Nonce. Ethereum ist eine Open-Source-Blockchain-basierte Softwareplattform mit Tausenden von dezentralen Anwendungen (DApps), die ihre native Kryptowährung Ethereum (ETH) antreibt, die global ohne jegliche Interferenz von Dritten gesendet und empfangen werden kann. Erstmals 2013 vom russisch-kanadischen Programmierer Vitalik Buterin konzipiert, wurde Ethereum als Plattform für selbstausführende, permanente und unveränderliche DApps entworfen, die von Finanzen über Spiele bis hin zur Kunst reichen. DApps werden oft als Smart Contracts bezeichnet, die Ethereum-Transaktionsprotokolle sind, die automatisch bestimmte Funktionen und Aktionen wie Transaktionsverarbeitung mit vordefinierten Bedingungen und Vereinbarungen ausführen. Das Senden einer Transaktion, das Stornieren oder Auflösen einer ausstehenden Ethereum-Transaktion sind Aktionen, die mit der Funktionsweise von Smart Contracts zusammenhängen.
Transaktionen sind kryptografisch signierte Anweisungen von Konten. Das Ethereum-Netzwerk unterstützt zwei Hauptarten von Transaktionen: Vertragsbereitstellungstransaktionen, die Art von Transaktion ohne Empfänger, und regulären Transaktionen, die einfachste Art von Transaktionen, die verwendet werden, um ETH von einer Brieftasche in eine andere zu übertragen. Eine eingereichte, reguläre Ethereum-Transaktion umfasst die Kennung des Absenders oder die Signatur, die generiert wird, wenn der private Schlüssel des Absenders die Transaktion unterzeichnet und bestätigt, dass der Absender die bestimmte Ethereum-Transaktion autorisiert hat. Die Empfangsadresse, die Menge an ETH, die vom Absender auf den Empfänger übertragen wird, Informationen zu Ethereum-Transaktionsgebühren und ein optionales Feld zum Einschließen beliebiger Daten sind alle Bestandteile einer eingereichten regulären Ethereum-Transaktion. Ethereum-Transaktionen müssen abgebaut werden, um gültig zu werden, und erfordern eine Gebühr vom Absender.
Ethereum-Miner verifizieren legitime Transaktionen, um eine Belohnung für ihre Arbeit bei der Erstellung von neuem ETH zu erhalten. Wenn ein Miner ein kryptografisches (mathematisches) Rätsel löst, gilt eine Transaktion als validiert. Ethereum verfügt wie Bitcoin (BTC) über ein Proof-of-Work (PoW)-System, um Cyberangriffe von einer einzelnen Person oder Gruppe zu verhindern. Die Verpflichtung der Nutzer, eine Transaktionsgebühr zu zahlen, wenn sie die Blockchain verwenden, schützt das Ethereum-Netzwerk vor schlampigen oder bösartigen Berechnungsaufgaben wie Nutzern, die die Blockchain mit einer Überlastung von zwecklosen Transaktionen überfluten. Eine Ethereum-Transaktion durchläuft verschiedene Zustände, beginnend mit dem unbekannten Zustand, bis sie in einem Block bestätigt wird.
Der unbekannte Zustand bezieht sich auf eine Transaktion, die das Netzwerk noch nicht gesehen oder verarbeitet hat. Wenn eine Transaktion im ausstehenden Zustand ist, muss sie von Minern abgeholt und verarbeitet werden, was als gepoolte Transaktion bezeichnet wird. Transaktionen mit niedrigeren Gasgebühren können aufgrund der höheren Gaspreise, die von den Minern priorisiert werden, längere Zeit im ausstehenden Zustand verweilen. Wenn ein Miner eine Transaktion auswählt und innerhalb eines Blocks abbaut, gelangt sie in den im-Bock-Zustand. Transaktionen im Block werden abgebaute Transaktionen genannt.
Wenn der Block gegabelt wird, kann eine Transaktion im Blockzustand wieder in den ausstehenden Zustand zurückkehren. Wenn eine der folgenden Umstände eintritt, kann eine Transaktion aus dem ausstehenden Zustand in den ersetzt-Zustand verschoben werden: Eine neue Transaktion mit demselben Nonce vom selben Absender gelangt in den im Block-Zustand, oder eine andere Transaktion mit demselben Nonce und einem um 12 % höheren Gaspreis gelangt wieder in den ausstehenden Zustand, diesmal von demselben Absender. Ethereum-Transaktionsbestätigungen sind die Anzahl der seit dem ersten Block erstellten Blöcke, die diese Transaktion enthalten. Eine ausstehende Ethereum-Transaktion muss eine bestimmte Anzahl von Bestätigungen erhalten. Je höher die Gasgebühr, desto mehr Sicherheit gibt es, dass das Ethereum-Netzwerk die Transaktion verarbeitet und anerkennt.
Jüngste Blöcke können umorganisiert werden, sodass der Eindruck entsteht, dass die Transaktionsverarbeitung fehlgeschlagen ist. Die Transaktion kann jedoch in einem anderen Block enthalten und weiterhin gültig sein. Die Wahrscheinlichkeit einer Umorganisation nimmt mit jedem anschließend abgebauten Block ab, das heißt, je mehr Bestätigungen es gibt, desto unveränderlicher wird die Transaktion. Eine Transaktionsgebühr ist ein Anreiz, den Benutzer an Blockminer zahlen. Sie wird verwendet, um eine bestimmte Transaktion im Ethereum-Blockchain zu senden.
Die Ethereum-Blockchain-Transaktionsgebühren werden auch Gasgebühren genannt, da sie mit Gas zusammenhängen, einem Preismechanismus, der auf dem Ethereum-Netzwerk verwendet wird und sich auf die Berechnung bezieht, die ein Miner benötigt, um die Transaktion zu verarbeiten. Die Rechenoperationen einer Transaktion werden in Gas-Kosten gemessen. Jede Gaseinheit hat einen Preis in ETH. Obwohl die Komplexität einer bestimmten Transaktion die Gas-Kosten bestimmt, können Benutzer ihren eigenen Preis und ihre eigene Gasgrenze festlegen oder die maximale Anzahl von Gas-Einheiten angeben, die von der Transaktion verbraucht werden. Ein Nonce ist eine Abkürzung für „nur einmal verwendet“, was sich auf die Gesamtanzahl der bestätigten Transaktionen bezieht, die von der angegebenen Ethereum-Adresse gesendet wurden.
Ethereum-Brieftaschen können mehrere Transaktionen nacheinander ohne nennenswerte Verzögerung von einem Konto übertragen. Das bedeutet, dass eine Nonce-Berechnung als notwendiger Mechanismus betrachtet wird, der bestimmt, welche Transaktion zuerst verarbeitet wird. In der Regel kümmern sich Ethereum-Brieftaschen-Anwendungen um das Nonce-Management für Benutzer. Es gibt zwei Hauptmethoden, um eine ausstehende Ethereum-Transaktion zu stornieren: die Stornierung in der Anwendung und die Festlegung eines benutzerdefinierten Nonce. Ethereum-Transaktionen hängen stundenlang fest oder bleiben stecken, wenn Benutzer sie mit einer niedrigen Gasgebühr senden.
Bei der Lösung dieses Problems müssen Benutzer bedenken, dass eine Stornierung nur möglich ist, wenn die Transaktion immer noch ausstehend ist. Der erste Schritt besteht darin, in einem Block-Explorer zu überprüfen, ob die Transaktion noch ausstehend ist. Im Wesentlichen sollten Benutzer den Transaktions-Hash einfügen, auch als Ethereum-Transaktions-ID bekannt, und wenn ein Block-Explorer „ausstehend“ anzeigt, können Benutzer versuchen, sie zu stornieren. Der einfachste Weg, um eine festsitzende Ethereum-Transaktion zu stornieren, ist die Stornierung in der Anwendung. Benutzer müssen die Ethereum-Brieftaschenanwendung verlassen und ihren Browser schließen, ihn wieder öffnen und sich erneut in die Anwendung einloggen.
Wenn diese Schritte das Problem nicht lösen, springt die zweite Methode in die Bresche. Das Stornieren einer ausstehenden Ethereum-Transaktion durch Festlegen eines benutzerdefinierten Nonce bedeutet, dass eine Transaktion von 0 ETH mit einem hohen Gaspreis an die eigene Adresse des Benutzers generiert wird, um zu verhindern, dass eine vorherige Transaktion stecken bleibt. Bevor diese zweite Transaktion gesendet wird, müssen Benutzer den Nonce notieren, der von der ursprünglichen ausstehenden Transaktion verwendet wird, und dann den gleichen Nonce wiederverwenden, den sie sich notiert haben. Wenn Benutzer mehrere ausstehende Ethereum-Transaktionen haben, sollten sie vorzugsweise mit der ältesten beginnen oder dem niedrigsten Nonce-Wert. Benutzer können eine langsame Ethereum-Transaktion beschleunigen, indem sie Gas hinzufügen.
Dieser Schritt kann Ethereum-Miner dazu anregen, es zu priorisieren. Wenn ein Ethereum-Benutzer einen zu niedrigen Gaspreis festlegt, haben andere Benutzer die Möglichkeit, dieses anfängliche Angebot zu überbieten, und die Transaktion bleibt ausstehen. Wenn die Transaktion stecken bleibt, bestätigt das Netzwerk keine neuen Transaktionen von derselben Brieftaschenadresse, bis der Miner die erste Transaktion bestätigt. In dieser Situation können Benutzer wählen, bis das Netzwerk bereit ist, eine Transaktion zum festgelegten Preis zu verarbeiten, oder die ursprüngliche Transaktion erneut einreichen, jedoch mit einer höheren Gasgebühr. Durch Klicken auf die Schaltfläche „Beschleunigen“ in ihrer Ethereum-Brieftasche sollte die Transaktion schneller verarbeitet werden.
Wenn der vorherige Schritt nicht funktioniert hat, können Benutzer zum erweiterten Register gehen, um den Gaspreis manuell festzulegen. Abschließend sollten Benutzer die Transaktion auf dem Blockketten-Explorer suchen, indem sie deren Hash einfügen, um zu sehen, ob sie erfolgreich verarbeitet wurde. Wenn die Transaktion nicht sofort angezeigt wird, müssen sie ein paar Minuten warten und die Seite aktualisieren. Ethereum-Brieftaschen können bereits abgeschlossene Ethereum-Transaktionen nicht rückgängig machen. Wenn Ethereum-Benutzer versehentlich Gelder an die falsche Adresse senden oder die falsche Menge an ETH senden, können sie die Transaktion stornieren, solange sie noch aussteht.
Wenn die Transaktion bestätigt und als "Erfolgreich" angezeigt wird, was bedeutet, dass sie dem nächsten Block hinzugefügt wurde, kann sie nicht rückgängig gemacht werden. Die Ethereum-Blockkette ist so konzipiert, dass die in Blöcken eingegebenen Daten unumkehrbar sind. Daher ist es wichtig, sicherzustellen, dass die Transaktionsdetails korrekt sind, bevor auf die Senden-Schaltfläche geklickt wird. Es ist schließlich erwähnenswert, dass viele Blockchain-Startups bereits Mechanismen entwickelt haben, mit denen Benutzer Ethereum-Transaktionen rückgängig machen können.