Ein eingehender Blick auf das umstrittene Spiel und seine Rolle bei der Fehlererkennung im ersten fehlersicheren System des OP Stack.

Es ist kein Zufall, dass eine der interessantesten Komponenten des OP Stack's Fault Proof Systems (FPS) sein umstrittenes Spiel ist. Der vorherige Artikel über FPS erläuterte, wie die Modularität des OP-Stacks das fehlersichere Programm (FPP) von der Beweisfehler-Virtual-Maschine (FPVM) entkoppelt, was die nächste Stufe der Komponierbarkeit und effiziente parallele Upgrades der beiden Komponenten ermöglicht. Es ist keine Übertreibung zu sagen, dass dies auch bei umstrittenen Spielen der Fall ist.
Dieser Artikel untersucht die Rolle von Streitspielen bei der dezentralen Fehlererkennung im Superchain-Ökosystem, wie man fehlersichere Streitspiele auf der Grundlage von Streitvereinbarungen entwickelt und die Möglichkeit, dass solche Spiele aufgrund der Skalierbarkeit von Streitvereinbarungen entstehen.
Dispute-Spiele sind die Kerngrundlagen von Streitvereinbarungen. Es simuliert eine einfache Zustandsmaschine, und für jedes Stück Information, dessen Gültigkeit angezweifelt wird, wird es mit einem 32-Byte-Versprechen initialisiert. Diese Information enthält eine Funktion zur Auflösung der Wahrheit oder Falschheit dieses Versprechens, die der Implementierung des Primitivs überlassen bleibt, zu definieren. Die erste umstrittene Spielimplementierung des OP Stack.FehlerDefenspiel, wurde nicht lizenziert, weil ihre Auflösungsfunktion durch die Ergebnisse eines fehlersicheren Programms bestimmt wurde, das auf einer simulierten virtuellen Maschine ausgeführt wurde.
Sucht Spiele Neugierig nach Zwei Zeichenfolgen Eigenschaften:
Das Spiel der Kontroverse selbst beruht auf zwei grundlegenden Attributen:
In Streitigkeiten können verschiedene Arten von Streitspielen erstellt, verwaltet und aktualisiert werden durchDisputeGameFactory. Dies öffnet die Tür zu innovativen Funktionen wie aggregierten Nachweissystemen und erweiterten Protokollen, um umstrittene Angelegenheiten außerhalb des Layer-2-Protokollstatus zu bewältigen, wie z.B. FaultDefenteGame, das auf die binäre Überprüfung on-chain abzielt.
Es handelt sich um ein genre-spezifisches Streitspiel und das erste, das auf der OP Stack-Streitvereinbarung aufgebaut wurde. In diesem Spiel teilt der Spieler die Ausführungsbahn hin und her, bis jeder Schritt erreicht ist. Nachdem die Dichotomie ein Versprechen des Zustands bei jeder Verfolgungsanweisung erreicht hat,FaultDefenteGameverwendet eine generische virtuelle Maschine, um einen einzelnen Anweisungsschritt auf der Kette auszuführen. Die Zustandsübergangsfunktion der VM (nennen wir sieT ) kann jede Funktion sein, solange sie die Form befolgtT (s, i) - > s',wo ist= der vereinbarte Vorzustand,ich = Zustandsübergangseingabe,s = post-state .
Für unsere erste vollständige Implementierung eines generischen VM in einem Spiel zu zweit haben wir einen einzelnen MIPS-Thread-Kontext auf Basis von EVM implementiert, um eine einzelne Anweisung in der generierten Ausführungsspur auszuführendurchKanone und OP-Programm.
Erklärt die Position, die im binären Baum existiert. Diese Position gibt an, auf welche Anweisung sich die Aussage bezieht.Position ist ein verallgemeinerter Index, der als 2 ^ {depth} + index_at_depth definiert werden kann.
Die Aktionen des Spielers sind zeitlich begrenzt. Dieses Spiel erfordert keine Lizenz und jeder kann teilnehmen. Jede Seite beginnt mit 3,5 Tagen Spielzeit, insgesamt also 7 Tage Spielzeit. Wenn Sie einen neuen Pfad erstellen oder eine Aussage machen, bei der Sie bereits eine Aussage erhalten haben, handelt es sich um eine Schritt-Großvater-Level-Schachuhr.
Spieler werden in zwei Teile geteilt, bis der Zustand der Aussage nur noch eine VM-Anweisung ist. Sie führen dann diese Anweisung On-Chain aus, um die Aussage zu überprüfen oder zu widerlegen. Aktionen können Angriff (Herausforderung der übergeordneten Aussage) oder Verteidigung (Zustimmung zur übergeordneten Aussage) sein. Immer wenn sich Spieler mit dem Hash-Wert der beobachteten Aussagen einig sind (was bedeutet, dass beide Parteien im gleichen Zustand unter einem bestimmten Befehl sind), aber mit dem endgültigen Ergebnis nicht einverstanden sind, das sie basierend auf der relativen Übereinstimmung der beobachteten Aussage anstreben, wird die zugrunde liegende Aussage zur Verteidigung verwendet.
Am Blattknoten des Ortsbaums gibt jede Aussage den Status nur einer VM-Anweisung an. Der einzige verbleibende Schritt besteht darin, VM-Anweisungen auszuführen, um die Elternaussage zu beweisen oder zu widerlegen.
Wenn der Befehlsschritt den erwarteten Postzustand bestätigt, dann trifft die Aussage nicht zu. Wenn es einen unerwarteten Freigabestatus oder Exit-Code gibt, wird der übergeordnete Anspruch angefochten.
Diese Art von Spiel wird wahrscheinlich gelöst, nachdem alle angegebenen Schachuhrzeiten aufgebraucht sind, mit einer Mindestdauer von 3,5 Tagen.Jede Aussage im Spiel ist die Wurzel ihres eigenen Teilspiels (Sub Game).Das Subspiel ist ein DAG mit einer Tiefe von 1. Alle auf die Wurzel zeigenden Subspiele (die selbst Subspielwurzeln sind) sind ihre Zähler, und das Subspiel kann nur gelöst werden, wenn auch alle seine Kindersubspiele gelöst wurden. Die Subspielwurzel kann nur als kontert angesehen werden, wenn eines oder mehrere der Subspielwurzel-Subspiele gelöst und nicht kontert wurden, und dieses Attribut durchdringt weiterhin die Aussage der Wurzel des Spiels.
Das Vorhandensein ehrlicher Spieler (sobald alle ihre Aktionen erschöpft sind) führt auch immer dazu, dass das Spiel in seiner Trajektorienansicht reibungslos verläuft, unabhängig davon, ob die zugrunde liegende Aussage ehrlich oder unehrlich ist. Eine unehrliche Aussage kann immer von einer beliebigen Partei entgegengesetzt werden, obwohl immer nur eine korrekte Aussage gemacht werden kann, da wiederholte Deklarations-Hashes am selben Ort im selben Teilsystem nicht erlaubt sind.
0:00
1×
Für alle Interessierten gibt es auch ein Visualisierungstool für FaultDefenteGame, das sich auf die simulierte Ausführungsverfolgung mit einer Länge von nur 16 Anweisungen konzentriert. Diese Simulation verwendet eine separate VM mit einem anderen Kontext als der MIPS-Thread, genannt AlphabetVM, die nur den nächsten Buchstaben im Alphabet zurückgibt, wenn ein bestimmter Buchstabe als Eingabe gegeben wird.
Wenn Sie daran interessiert sind, die Regeln des Spiels mit einem leichtgewichtigen Backend zu erkunden, so geht's:
Klonen Sie das Optimism-Monorepo, installieren Sie Abhängigkeiten und erstellen Sie die Devnet-Distribution /cannon/op-Programm-Binärdateien.
Erforderliche Abhängigkeiten:
Foundrygit clone git@github.com: ethereum-optimism/optimism.git & &\\ cd optimism & &\\ pnpm i & &\\ (cd packages/contracts-bedrock & & forge install) & &\\ Make up cannon-prestate & &\\ Make up devnet-allocsFühren Sie das Alphabet-Spiel aus:
CD OP-CHALLENCHER & & MACHE ALPHABETFühren Sie die visuelle Front-End lokal aus und geben Sie die Adresse des auf dem lokalen Entwicklungsnetzwerk bereitgestellten FaultDefenteGame-Agenten ein.In einem Spiel zu zweit arbeiten alle oben genannten Mechanismen zusammen, um ein System zu schaffen, das ehrliches Verhalten belohnt und betrügerische Behauptungen effektiv entgegenwirkt.
Es gibt so viele Möglichkeiten, um kontroverse Spiele zu entwickeln, die die gleichen Ziele erreichen. Wir hoffen, dass, wenn OP Stack's FPS auf OP Goerli bereitgestellt wird, die Erbauer in unserem Ökosystem Spaß haben und kreativ sein werden, um ihre eigenen umstrittenen Spiele zu entwickeln. Jedes umstrittene Spiel, das erstellt wird, kann eine Rolle bei der sozialen Dezentralisierung von OP Stack spielen und den Teilnehmern im Ökosystem Optionen bieten, wie sie Meinungsverschiedenheiten über eine bestimmte Information lösen möchten.





