Pendant que le jeu est en cours : Concevoir un jeu modulaire controversé pour le système de preuve de faute OP Stack

Avancé12/17/2023, 6:13:44 PM
Cet article analyse le rôle des jeux de litiges dans la détection des erreurs décentralisée dans l'écosystème superchain, et discute de la construction et du potentiel des jeux de litiges infaillibles. Cet article examine également l'importance de ces jeux dans la détection d'erreurs dans le premier système de sécurisation des erreurs d'OP Stack.

Un examen approfondi du jeu controversé et de son rôle dans la détection des défauts du premier système de sécurisation des erreurs de la pile OP.

Ce n'est pas une coïncidence que l'un des composants les plus intéressants du système de preuve de défaut de la pile OP (FPS) soit son jeu controversé. L'article précédent sur le FPS a souligné comment la modularité de la pile OP découple le programme de preuve de défaut (FPP) de la machine virtuelle de preuve de défaut (FPVM), permettant le prochain niveau de composition et de mises à niveau parallèles efficaces des deux composants. Il n'est pas exagéré de dire que c'est aussi le cas avec les jeux controversés.

Cet article explore le rôle des jeux de litige dans la détection de fautes décentralisée dans l'écosystème de la superchaîne, comment construire des jeux de litige à l'épreuve des erreurs sur la base d'accords de litige, et la possibilité de l'émergence de tels jeux en raison de la scalabilité des accords de litige.

Si vous souhaitez obtenir plus de détails sur le jeu controversé, lisez ce post plus détaillé que j'ai partagé sur mon blog personnel il y a quelques semaines.

Qu'est-ce qu'un jeu de dispute ?

Les jeux de litige sont les fondements essentiels des accords de litige. Il simule une machine à états simple, et pour toute information dont la validité est contestée, elle est initialisée avec une promesse de 32 octets. Cette information contient une fonction pour résoudre la vérité ou la fausseté de cette promesse, laissant à la mise en œuvre de la primitive le soin de définir. La première mise en œuvre controversée du jeu OP Stack, FaultDefenteGamen'a pas été autorisé car sa fonction de résolution a été déterminée par les résultats d'un programme anti-erreur exécuté sur une machine virtuelle simulée.

Recherches Jeux Curieux sur Deux Propriétés de Chaînes :

Le jeu de la controverse elle-même repose sur deux attributs de base :

  1. Incentiver la compatibilité: le système punitde fausses affirmations et récompense de vraies affirmations pour garantir une participation équitable.
  2. Solution:Chaque jeu a un mécanisme pour valider ou invalider explicitement les revendications racines.

Dans les accords de litige, différents types de jeux de litige peuvent être créés, gérés et mis à niveau à travers DisputeGameFactory. Cela ouvre la porte à des fonctionnalités innovantes telles que des systèmes de preuve agrégés et des protocoles étendus pour prendre en charge des questions litigieuses en dehors de l'état du protocole de couche 2, telles que FaultDefenteGame, qui cible la vérification binaire on-chain.

Deux points de jeu

C'est un jeu de dispute spécifique au genre, et le premier à être construit sur l'accord de dispute de la pile OP. Dans ce jeu, le joueur divise la trajectoire d'exécution en arrière et en avant jusqu'à ce que chaque étape soit atteinte. Après que la dichotomie a atteint une promesse d'état sur chaque instruction de suivi,Jeu de défense de failleutilise une machine virtuelle générique pour exécuter une seule instruction sur la chaîne. La fonction de transition d'état de la MV (appelons-laT ) peut être n'importe quelle fonction, tant qu'elle suit la formeT (s, i) - > s',où s= l'état préalablement convenu,je = entrée de transition d'état, s = post-état .

Pour notre première mise en œuvre complète d'une VM générique dans un jeu à deux, nous avons implémenté un seul contexte de thread MIPS au-dessus de l'EVM pour exécuter une seule instruction dans la trace d'exécution généréeparCanonet programme OP.

déclarations

Une instruction indique un engagement envers l’état de la machine virtuelle principale sous une instruction donnée. Ceux-ci peuvent être vrais ou faux, et l’authenticité est déterminée après la phase de résolution. S’il n’y a pas de contre-attaque, l’affirmation est considérée comme correcte. ,

Emplacement

Déclare la position qui existe dans l'arbre binaire. Cette position indique à quelle instruction la déclaration se rapporte.La position est un indice généralisé, qui peut être défini comme 2^ {profondeur} + index_at_depth.

horloge d'échecs

Les actions du joueur sont limitées dans le temps. Ce jeu ne nécessite aucune licence et tout le monde peut y participer. Chaque côté commence avec 3,5 jours de jeu, pour un total de 7 jours de jeu. Si vous créez un nouveau chemin ou faites une déclaration où vous avez déjà reçu une déclaration, c'est une horloge d'échecs de niveau grand-père d'étape.

action

Les joueurs sont divisés en deux jusqu'à ce que l'état de l'énoncé ne concerne qu'une seule instruction VM. Ils exécutent ensuite cette instruction on-chain pour vérifier ou infirmer l'énoncé. Les actions peuvent être une attaque (contester l'énoncé parent) ou une défense (approuver l'énoncé parent). Chaque fois que les joueurs approuvent le hachage des énoncés qu'ils ont observés (ce qui signifie que les deux parties sont dans le même état sous une commande donnée) mais sont en désaccord avec le résultat final qu'ils essaient d'obtenir en fonction de l'accord relatif de l'énoncé observé, l'énoncé sous-jacent est utilisé pour se défendre.

Étapes de commande

Au nœud feuille de l'arbre de localisation, chaque déclaration soumet l'état à une seule instruction VM. La seule étape restante est d'exécuter les instructions VM pour prouver ou contredire la revendication parentale.

Si l'étape de commande confirme l'état postérieur attendu, alors l'énoncé n'est pas valable. S'il y a un statut de sortie inattendu ou un code de sortie, la revendication parentale sera contrecarrée.

solutions

Ce genre de jeu est susceptible d'être résolu après l'expiration de tous les horloges d'échecs indiquées, avec une période minimale de 3,5 jours.Chaque déclaration dans le jeu est la racine de son propre sous-jeu (Sub Game).Le sous-jeu est un DAG avec une profondeur de 1. Tous les sous-jeux pointant vers la racine (qui sont eux-mêmes des racines de sous-jeux) sont ses compteurs, et le sous-jeu ne peut être résolu que si tous ses sous-jeux enfants ont également été résolus. La racine du sous-jeu ne peut être considérée comme contre-attaquée que si un ou plusieurs des sous-jeux de la racine du sous-jeu sont résolus et non contre-attaqués, et cette caractéristique continue de permeater l'énoncé racine du jeu.

La présence de joueurs honnêtes (dès que toutes leurs actions ont été épuisées) provoque également toujours une résolution en douceur du jeu dans sa trajectoire, indépendamment de la véracité ou de la malhonnêteté de l'affirmation sous-jacente. Une déclaration malhonnête peut toujours être contrecarrée par n'importe quelle partie, bien qu'il n'y ait toujours qu'une seule déclaration correcte qui puisse être faite, étant donné que les hachages de déclaration répétés au même endroit dans le même sous-jeu ne sont pas autorisés.

0:00

Jouez au jeu de l'alphabet à deux points

Pour toute personne intéressée, il existe également un outil de visualisation pour FaultDefenteGame, qui cible le suivi de l'exécution simulée avec seulement 16 instructions de longueur. Cette simulation utilise une VM séparée avec un contexte différent du thread MIPS, appelée AlphabetVM, qui ne renvoie que la lettre suivante dans l'alphabet lorsqu'une lettre donnée est entrée.

Si vous êtes intéressé à explorer les règles du jeu avec un backend plus léger, voici comment jouer :

Cloner le monorepo Optimism, installer les dépendances et créer les binaires de distribution devnet /cannon/op-program.

Dépendances requises:

  1. Fonderie
  2. Chaîne d'outils Golang
  3. Docker
git 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-allocs

Jouez au jeu de l'alphabet:

CD OP-CHALLENCHER & & MAKE ALPHABET
  1. Accédez à https://disputify.optimism.io/ ou via le clone https://github.com/clabby/dispute-viz Exécutez localement l'interface visuelle et saisissez l'adresse de l'agent FaultDefenteGame déployé sur le réseau de développement local ci-dessus.

Accords litigieux pour aider à protéger la pile OP

Dans un jeu à deux, tous les mécanismes ci-dessus travaillent ensemble pour créer un système qui récompense un comportement honnête et contrebalance efficacement les revendications malhonnêtes.

Il existe tellement de façons de créer des jeux controversés qui atteignent les mêmes objectifs. Nous espérons que lorsque le FPS de OP Stack sera déployé sur OP Goerli, les constructeurs de notre écosystème s'amuseront et feront preuve de créativité dans la création de leurs propres jeux controversés. Chaque jeu controversé créé peut jouer un rôle dans la décentralisation sociale de OP Stack et offrir aux participants de l'écosystème des options sur la manière de résoudre les différends concernant une déclaration donnée sur certaines informations.

Déclaration :

  1. Cet article a été repris de [ oplabs], et les droits d'auteur appartiennent à l'auteur original [clabby]. Si vous avez des objections à la réimpression, veuillez contacter l'équipe Gate Learn(gatelearn@gate.io),et l'équipe s'en occupera dès que possible selon les procédures pertinentes.
  2. Avertissement : Les points de vue et opinions exprimés dans cet article ne représentent que les opinions personnelles de l'auteur et ne constituent aucun conseil en investissement.
  3. Les articles dans d'autres langues sont traduits par l'équipe Gate Learn, et les articles traduits ne peuvent pas être copiés, distribués ou copiés sans mentionner Gate.io.

Pendant que le jeu est en cours : Concevoir un jeu modulaire controversé pour le système de preuve de faute OP Stack

Avancé12/17/2023, 6:13:44 PM
Cet article analyse le rôle des jeux de litiges dans la détection des erreurs décentralisée dans l'écosystème superchain, et discute de la construction et du potentiel des jeux de litiges infaillibles. Cet article examine également l'importance de ces jeux dans la détection d'erreurs dans le premier système de sécurisation des erreurs d'OP Stack.

Un examen approfondi du jeu controversé et de son rôle dans la détection des défauts du premier système de sécurisation des erreurs de la pile OP.

Ce n'est pas une coïncidence que l'un des composants les plus intéressants du système de preuve de défaut de la pile OP (FPS) soit son jeu controversé. L'article précédent sur le FPS a souligné comment la modularité de la pile OP découple le programme de preuve de défaut (FPP) de la machine virtuelle de preuve de défaut (FPVM), permettant le prochain niveau de composition et de mises à niveau parallèles efficaces des deux composants. Il n'est pas exagéré de dire que c'est aussi le cas avec les jeux controversés.

Cet article explore le rôle des jeux de litige dans la détection de fautes décentralisée dans l'écosystème de la superchaîne, comment construire des jeux de litige à l'épreuve des erreurs sur la base d'accords de litige, et la possibilité de l'émergence de tels jeux en raison de la scalabilité des accords de litige.

Si vous souhaitez obtenir plus de détails sur le jeu controversé, lisez ce post plus détaillé que j'ai partagé sur mon blog personnel il y a quelques semaines.

Qu'est-ce qu'un jeu de dispute ?

Les jeux de litige sont les fondements essentiels des accords de litige. Il simule une machine à états simple, et pour toute information dont la validité est contestée, elle est initialisée avec une promesse de 32 octets. Cette information contient une fonction pour résoudre la vérité ou la fausseté de cette promesse, laissant à la mise en œuvre de la primitive le soin de définir. La première mise en œuvre controversée du jeu OP Stack, FaultDefenteGamen'a pas été autorisé car sa fonction de résolution a été déterminée par les résultats d'un programme anti-erreur exécuté sur une machine virtuelle simulée.

Recherches Jeux Curieux sur Deux Propriétés de Chaînes :

Le jeu de la controverse elle-même repose sur deux attributs de base :

  1. Incentiver la compatibilité: le système punitde fausses affirmations et récompense de vraies affirmations pour garantir une participation équitable.
  2. Solution:Chaque jeu a un mécanisme pour valider ou invalider explicitement les revendications racines.

Dans les accords de litige, différents types de jeux de litige peuvent être créés, gérés et mis à niveau à travers DisputeGameFactory. Cela ouvre la porte à des fonctionnalités innovantes telles que des systèmes de preuve agrégés et des protocoles étendus pour prendre en charge des questions litigieuses en dehors de l'état du protocole de couche 2, telles que FaultDefenteGame, qui cible la vérification binaire on-chain.

Deux points de jeu

C'est un jeu de dispute spécifique au genre, et le premier à être construit sur l'accord de dispute de la pile OP. Dans ce jeu, le joueur divise la trajectoire d'exécution en arrière et en avant jusqu'à ce que chaque étape soit atteinte. Après que la dichotomie a atteint une promesse d'état sur chaque instruction de suivi,Jeu de défense de failleutilise une machine virtuelle générique pour exécuter une seule instruction sur la chaîne. La fonction de transition d'état de la MV (appelons-laT ) peut être n'importe quelle fonction, tant qu'elle suit la formeT (s, i) - > s',où s= l'état préalablement convenu,je = entrée de transition d'état, s = post-état .

Pour notre première mise en œuvre complète d'une VM générique dans un jeu à deux, nous avons implémenté un seul contexte de thread MIPS au-dessus de l'EVM pour exécuter une seule instruction dans la trace d'exécution généréeparCanonet programme OP.

déclarations

Une instruction indique un engagement envers l’état de la machine virtuelle principale sous une instruction donnée. Ceux-ci peuvent être vrais ou faux, et l’authenticité est déterminée après la phase de résolution. S’il n’y a pas de contre-attaque, l’affirmation est considérée comme correcte. ,

Emplacement

Déclare la position qui existe dans l'arbre binaire. Cette position indique à quelle instruction la déclaration se rapporte.La position est un indice généralisé, qui peut être défini comme 2^ {profondeur} + index_at_depth.

horloge d'échecs

Les actions du joueur sont limitées dans le temps. Ce jeu ne nécessite aucune licence et tout le monde peut y participer. Chaque côté commence avec 3,5 jours de jeu, pour un total de 7 jours de jeu. Si vous créez un nouveau chemin ou faites une déclaration où vous avez déjà reçu une déclaration, c'est une horloge d'échecs de niveau grand-père d'étape.

action

Les joueurs sont divisés en deux jusqu'à ce que l'état de l'énoncé ne concerne qu'une seule instruction VM. Ils exécutent ensuite cette instruction on-chain pour vérifier ou infirmer l'énoncé. Les actions peuvent être une attaque (contester l'énoncé parent) ou une défense (approuver l'énoncé parent). Chaque fois que les joueurs approuvent le hachage des énoncés qu'ils ont observés (ce qui signifie que les deux parties sont dans le même état sous une commande donnée) mais sont en désaccord avec le résultat final qu'ils essaient d'obtenir en fonction de l'accord relatif de l'énoncé observé, l'énoncé sous-jacent est utilisé pour se défendre.

Étapes de commande

Au nœud feuille de l'arbre de localisation, chaque déclaration soumet l'état à une seule instruction VM. La seule étape restante est d'exécuter les instructions VM pour prouver ou contredire la revendication parentale.

Si l'étape de commande confirme l'état postérieur attendu, alors l'énoncé n'est pas valable. S'il y a un statut de sortie inattendu ou un code de sortie, la revendication parentale sera contrecarrée.

solutions

Ce genre de jeu est susceptible d'être résolu après l'expiration de tous les horloges d'échecs indiquées, avec une période minimale de 3,5 jours.Chaque déclaration dans le jeu est la racine de son propre sous-jeu (Sub Game).Le sous-jeu est un DAG avec une profondeur de 1. Tous les sous-jeux pointant vers la racine (qui sont eux-mêmes des racines de sous-jeux) sont ses compteurs, et le sous-jeu ne peut être résolu que si tous ses sous-jeux enfants ont également été résolus. La racine du sous-jeu ne peut être considérée comme contre-attaquée que si un ou plusieurs des sous-jeux de la racine du sous-jeu sont résolus et non contre-attaqués, et cette caractéristique continue de permeater l'énoncé racine du jeu.

La présence de joueurs honnêtes (dès que toutes leurs actions ont été épuisées) provoque également toujours une résolution en douceur du jeu dans sa trajectoire, indépendamment de la véracité ou de la malhonnêteté de l'affirmation sous-jacente. Une déclaration malhonnête peut toujours être contrecarrée par n'importe quelle partie, bien qu'il n'y ait toujours qu'une seule déclaration correcte qui puisse être faite, étant donné que les hachages de déclaration répétés au même endroit dans le même sous-jeu ne sont pas autorisés.

0:00

Jouez au jeu de l'alphabet à deux points

Pour toute personne intéressée, il existe également un outil de visualisation pour FaultDefenteGame, qui cible le suivi de l'exécution simulée avec seulement 16 instructions de longueur. Cette simulation utilise une VM séparée avec un contexte différent du thread MIPS, appelée AlphabetVM, qui ne renvoie que la lettre suivante dans l'alphabet lorsqu'une lettre donnée est entrée.

Si vous êtes intéressé à explorer les règles du jeu avec un backend plus léger, voici comment jouer :

Cloner le monorepo Optimism, installer les dépendances et créer les binaires de distribution devnet /cannon/op-program.

Dépendances requises:

  1. Fonderie
  2. Chaîne d'outils Golang
  3. Docker
git 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-allocs

Jouez au jeu de l'alphabet:

CD OP-CHALLENCHER & & MAKE ALPHABET
  1. Accédez à https://disputify.optimism.io/ ou via le clone https://github.com/clabby/dispute-viz Exécutez localement l'interface visuelle et saisissez l'adresse de l'agent FaultDefenteGame déployé sur le réseau de développement local ci-dessus.

Accords litigieux pour aider à protéger la pile OP

Dans un jeu à deux, tous les mécanismes ci-dessus travaillent ensemble pour créer un système qui récompense un comportement honnête et contrebalance efficacement les revendications malhonnêtes.

Il existe tellement de façons de créer des jeux controversés qui atteignent les mêmes objectifs. Nous espérons que lorsque le FPS de OP Stack sera déployé sur OP Goerli, les constructeurs de notre écosystème s'amuseront et feront preuve de créativité dans la création de leurs propres jeux controversés. Chaque jeu controversé créé peut jouer un rôle dans la décentralisation sociale de OP Stack et offrir aux participants de l'écosystème des options sur la manière de résoudre les différends concernant une déclaration donnée sur certaines informations.

Déclaration :

  1. Cet article a été repris de [ oplabs], et les droits d'auteur appartiennent à l'auteur original [clabby]. Si vous avez des objections à la réimpression, veuillez contacter l'équipe Gate Learn(gatelearn@gate.io),et l'équipe s'en occupera dès que possible selon les procédures pertinentes.
  2. Avertissement : Les points de vue et opinions exprimés dans cet article ne représentent que les opinions personnelles de l'auteur et ne constituent aucun conseil en investissement.
  3. Les articles dans d'autres langues sont traduits par l'équipe Gate Learn, et les articles traduits ne peuvent pas être copiés, distribués ou copiés sans mentionner Gate.io.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500