Über statische Transaktionen:

Transaktionen sollten bei der Einreichung vollständig statisch sein.

Warum: Sequencer müssen in der Lage sein, über Transaktionen nachzudenken, ohne sie auszuführen. Und Validatoren sollten in der Lage sein, über die Gültigkeit von Blöcken nachzudenken, ohne den Block auszuführen.

Alle sequenzierungsrelevanten Eingaben, einschließlich, aber nicht beschränkt auf:

1. Gebührenzahler
2. Ressourcennutzung und erhobene Gebühren
3. Anweisungen
4. Lese- und Schreibzugriffslisten

Sollten innerhalb der Transaktion enthalten sein.

Tatsächlich sollte sogar, welche Konten geladen werden, statisch und nicht zur Laufzeit manipulierbar sein, um Cache-Misses zu vermeiden (Sie sollten sicherlich in der Lage sein, etwas, nach dem Sie gefragt haben, nicht zu lesen, aber Sie sollten nicht in der Lage sein, etwas zu lesen, nach dem Sie nicht gefragt haben).

Wenn der Sequencer die Kontosperren und Ressourcennutzung Ihrer Transaktion nicht simulieren kann, ohne Zugriff auf die Laufzeit zu haben, ist es zu dynamisch.