Der Markt bringt wieder einige interessante Namen mit. $TRUMP $BEAT Beide bekommen auf dem Chart viel Aufmerksamkeit. An diesem Punkt versuche ich nur herauszufinden, wie eigentlich alle diese Moves finden, bevor ich es tue.

Früher dachte ich, ein fehlgeschlagener Smart-Contract-Aufruf sei im Grunde nur ein Fehler.

Aber je mehr ich mir DuskVM angesehen habe, desto spannender wurde der Failure-Pfad.

Bevor die Ausführung überhaupt startet, prüft Dusk Dinge wie die Signatur des Absenders und den Nonce. Wenn diese grundlegenden Bedingungen nicht erfüllt sind, wird die Transaktion nicht wie normal zur Ausführung freigegeben.

Aber was passiert, wenn während der Ausführung etwas schiefgeht?

Das ist der Teil, den ich für wichtiger halte.

Ein Smart Contract kann Zustandsänderungen bewirken, während er läuft, aber ein fehlgeschlagener Aufruf lässt diese Änderungen nicht einfach dort liegen. Die Zustandsänderungen aus dieser fehlgeschlagenen Ausführung werden nicht übernommen.

So bleibt ein Contract nicht halbwegs zwischen seinem alten Zustand und einem unvollständigen neuen Zustand stecken.

Auch Gas spielt hier eine Rolle. Die Ausführung eines Contracts verbraucht Gas, was bedeutet, dass ein Fehlschlag nicht nur davon abhängt, ob das Endergebnis erfolgreich war. Es sind trotzdem Ausführungsressourcen im Spiel.

Das hat mich dazu gebracht, darüber nachzudenken, was „sichere Ausführung“ eigentlich bedeutet.

Es geht nicht nur darum, dass erfolgreiche Transaktionen funktionieren.

Es geht auch darum, dass das Verhalten bei Fehlschlägen vorhersehbar ist.

Für Finanzanwendungen ist diese Unterscheidung entscheidend. Ein System, das wertvolle Assets verwaltet, muss wissen, was passiert, wenn der erwartete Pfad bricht.

Manchmal ist der wichtigste Teil eines Smart Contracts nicht das, was passiert, wenn alles gut läuft.

Sondern das, was das Netzwerk tut, wenn es nicht läuft.

@Dusk_Foundation $DUSK #dusk

Was ist am wichtigsten, wenn Aufrufe fehlschlagen?
🔄 State rollback
67%
⛽ Gas handling
33%
9 Stimmen • Abstimmung beendet