Groundhog ist ein neuartiges Design für eine Smart-Contract-Ausführungsmaschine, das auf der parallelen Ausführung von Transaktionsblöcken basiert. Im Gegensatz zu herkömmlichen Systemen sind die Transaktionen innerhalb eines Blocks in Groundhog nicht sequenziell geordnet.
Stattdessen verwendet Groundhog zwei Schlüsselideen, um die Ausführung zu parallelisieren:
Kommutative Semantiken: Groundhog entwirft eine Reihe von kommutativen Semantiken, die es dem Groundhog-Laufzeitsystem ermöglichen, gleichzeitige Zugriffe auf gemeinsame Daten deterministisch aufzulösen.
Gültigkeitseinschränkungen: Einige Speicherzugriffe (wie das Abheben von Geld von einem Konto) sind unauflösbar in Konflikt. Daher erzwingt Groundhog Gültigkeitseinschränkungen für persistente Speicherzugriffe über einen Reserve-Commit-Prozess.
Diese beiden Ideen geben Groundhog eine Reihe von Semantiken, die zwar nicht so mächtig sind wie traditionelle sequenzielle Semantiken, aber flexibel genug sind, um eine Vielzahl wichtiger Anwendungen zu implementieren, und die strikt mächtiger sind als die Semantiken, die in einigen großen Blockchains heute verwendet werden.
Im Gegensatz zu herkömmlichen Smart-Contract-Systemen leidet der Transaktionsdurchsatz in Groundhog nie unter Konflikten zwischen Transaktionen. Mit 96 CPU-Kernen kann Groundhog mehr als eine halbe Million Zahlungstransaktionen pro Sekunde verarbeiten, unabhängig davon, ob es sich um 10 Millionen Konten oder nur 2 handelt.
toiselle kielelle
lähdeaineistosta
arxiv.org
Syvällisempiä Kysymyksiä