Für alle / Pickle in klaren Worten

Wann ist es bestätigt

Meistens sagt eine Wallet erst ausstehend und dann erledigt. Hier liegen drei getrennte Momente zwischen diesen beiden Wörtern, und sie garantieren unterschiedliche Dinge.

Drei Momente

MomentWas es ist
Vorbestätigungsignierter Mini-BlockPlanungsziel von 10 ms. Der Sequencer hat sich auf diese Reihenfolge und dieses Ergebnis festgelegt
BestätigungEVM-BlockPlanungsziel von 250 ms. Was Wallets und Explorer sehen
FinalitätSettlement auf Ethereumdie Daten, die nötig sind, um den Block neu abzuleiten, sind auf Ethereum festgeschrieben, und diese Festschreibung ist selbst final

Stellen Sie sich vor, Sie geben einen Brief an einem Schalter mit einem sehr schnellen Angestellten ab. Zuerst liest er ihn, ermittelt die Antwort und gibt Ihnen eine signierte Quittung: das ist die Vorbestätigung, und sie kommt fast in dem Moment, in dem Sie den Brief übergeben. Etwas später legt er ihn im Tagesbuch ab, das alle anderen einsehen können: das ist die Bestätigung. Schließlich wird eine Kopie des Tagesbuchs in einen Tresor außerhalb des Ladens geschickt, den niemand im Laden verändern kann: das ist die Finalität. Jeder Schritt ist langsamer als der vorige, und jeder ist schwerer rückgängig zu machen.

Ihre Transaktion wird in dem Augenblick ausgeführt, in dem sie den Sequencer erreicht, das Ergebnis existiert also, bevor es irgendeinen Block gibt. Bei einem Planungsziel von 10 Millisekunden versiegelt der Sequencer einen Mini-Block mit allem, was in diesem Intervall ausgeführt wurde, und signiert ihn. Diese Signatur ist die Vorbestätigung: Der Sequencer hat sich auf diese Reihenfolge und dieses Ergebnis festgelegt, und der signierte Header ist Beweismaterial gegen ihn, falls ein späterer Block ihm widerspräche.

Bei einem Planungsziel von 250 Millisekunden versiegelt der Sequencer einen standardmäßigen EVM-Block nach Ethereum-Form, der die Mini-Blöcke dieses Intervalls umhüllt. Das ist die Bestätigung: der Block, den Ihnen eine Wallet oder ein Explorer zeigt, mit einer Blocknummer und einem Hash.

Finalität ist das Settlement auf Ethereum. Ein Block ist final, wenn die Daten, die nötig sind, um ihn neu abzuleiten, auf Ethereum festgeschrieben wurden und diese Festschreibung selbst final ist. Erst an diesem Punkt hängt die Aufzeichnung überhaupt nicht mehr vom Sequencer ab.

Die Ausführung ist synchron mit der Annahme, ein Receipt existiert also, bevor der enthaltende Block versiegelt ist. Ein Mini-Block beim Planungsziel von 10 ms trägt die Transaktionen, Receipts und Logs des Intervalls, einen State-Diff-Hash, einen Zeitstempel in Mikrosekunden und eine Signatur des Sequencer-Schlüssels über den Header; er wird über eigene RPC-Methoden und ein WebSocket-Abonnement bereitgestellt, damit eine latenzempfindliche Anwendung darauf reagieren kann. Ein EVM-Block beim Planungsziel von 250 ms umhüllt die Mini-Blöcke des Intervalls, wobei der Zeitstempel des nächsten Blocks bei der vorigen Versiegelung festgelegt wird, was einer unabhängigen erneuten Ausführung erlaubt, den Block-Hash zu reproduzieren. Finalität ist die L1-Inbox-Festschreibung, die die Ableitungs-Payload des Blocks benennt und selbst auf Ethereum final ist. Das Mini-Block-Intervall ist ein Konsensparameter und kein Stellrad des Betreibers, denn eine Replika muss sich darüber einig sein, wie der Strom geschnitten wird.

Ein Planungsziel ist kein Versprechen

Beide Intervalle sind Planungsziele und keine Latenzgarantien, und keines ist eine Durchsatzbehauptung. Sie beschreiben den Rhythmus, den der Sequencer anstrebt, nicht eine Frist, die er bei jedem Takt einhält.

Was jeder garantiert

  • Eine Vorbestätigung beweist, dass der Sequencer gesagt hat, dies sei geschehen, in dieser Reihenfolge, mit diesem Ergebnis. Sie beruht auf der Ehrlichkeit des Sequencers, und sie ist Beweismaterial: Ein signierter Header, dem ein späterer Block widerspricht, würde zeigen, dass der Sequencer sein Wort gebrochen hat.
  • Eine Bestätigung setzt die Transaktion in die kanonische Blockfolge, die jedes Werkzeug versteht. Sie beruht weiterhin auf dem Sequencer, der als einzige Partei Blöcke versiegelt.
  • Finalität bedeutet, dass der Inhalt des Blocks von Ethereum aus festgeschrieben ist. Ab diesem Punkt kann jeder den Block aus öffentlichen Daten neu ableiten, und der Sequencer kann ihn nicht umschreiben, ohne dass jede Replika die Abweichung erkennen kann.

Wann der Unterschied zählt

Für das meiste, was ein Mensch tut, ist die Vorbestätigung der Moment, der zählt: Eine Anwendung kann das Ergebnis anzeigen, und das Ergebnis ändert sich nicht, es sei denn, der Sequencer widerspricht seiner eigenen Signatur. Ein Spiel, eine Handelsoberfläche oder eine Zahlung an der Kasse kann darauf reagieren.

Die Bestätigung ist das, was gewöhnliche Werkzeuge melden, also der Moment, den eine Wallet als erledigt anzeigt. Finalität ist der Moment für alles, was überhaupt nicht vom Sequencer abhängen darf: Eine Abhebung nach Ethereum über die Bridge wird genau aus diesem Grund gegen ein finalisiertes kanonisches Receipt erneut geprüft, bevor Mittel freigegeben werden.

Die Wörter, die Sie sehen werden

  • Ausstehend: Die Wallet hat sie gesendet und noch keinen Block gesehen. Auf Pickle ist das meist kürzer als die eigene Aktualisierung der Wallet.
  • Vorbestätigt: Eine Anwendung, die Mini-Blöcke liest, sagt, dass der Sequencer dafür signiert hat.
  • Bestätigt: Sie steht in einem EVM-Block mit einer Nummer.
  • Final: Die Daten ihres Blocks sind von Ethereum aus festgeschrieben. Diese Website verwendet das Wort für nichts anderes.