Ich denke, der Hauptgrund, warum die meisten Blockchains keine asynchrone Ausführung übernommen haben, ist einfach: Wenn Benutzer sehen, dass ihre Transaktion bestätigt ist, erwarten sie, dass das Ergebnis verfügbar ist, da ihre weiteren Aktionen davon abhängen. Während es bei verzögerter Ausführung möglich ist, das Ergebnis lokal für nicht umstrittene Zustände (wie Überweisungen/Genehmigungen) zu simulieren, sind dies auch die Arten von Transaktionen, die nicht viel zusätzlichen Aufwand für eine synchrone Ausführung verursachen, was die asynchrone Ausführung zu einer viel weniger attraktiven Alternative macht, wenn man die zusätzlichen Entwicklungskosten und die bedingte Verarbeitung der Transaktion auf der Endseite (Überprüfung, ob eine Transaktion einen umstrittenen Zustand berühren könnte, was nicht trivial ist, und die Entscheidung, auf das Ergebnis von der Blockchain zu warten oder es lokal zu simulieren) berücksichtigt.
Keone Hon ⨀
Keone Hon ⨀11. Aug., 03:59
Heute schreibe ich etwas über asynchrone Ausführung (auch bekannt als verzögerte Ausführung). Das ist eine der "großen Ideen" von Monaden, die im Nachhinein offensichtlich erscheinen wird: Sobald die Reihenfolge der Transaktionen festgelegt ist, ist der Zustand bestimmt. Vielleicht wissen Sie das nicht, aber in den meisten Blockchains, einschließlich Ethereum und Solana, müssen die Knoten, die eine Liste von Transaktionen (d.h. einen Block) auswerten, auch über das Ergebnis dieser Liste von Transaktionen (d.h. den Zustandsstamm nach diesen Transaktionen) im Rahmen des Abstimmungsprozesses einig sein. Das erfordert, dass sie diese Transaktionen ausführen, bevor sie mit einer Stimme antworten, was offensichtlich die Menge an Arbeit, die sie leisten können, erheblich verringert. Diese Erwartung ist zu streng und ist einer der Hauptgründe, warum die Durchsatzrate von Blockchains so begrenzt ist.
1,3K