Depuis que Dojo de l’écosystème Starknet a proposé le concept de jeux off-chain prouvables, de nombreuses équipes ont commencé à explorer ce domaine, comme paima utilisant la compression d’état NFT, redux utilisant l’arbre de Merkle et les inscriptions d’état, etc. Zypher Network (@Zypher_Network) a également publié une série de kits de développement basés sur la technologie zk-SNARKs pour aider à créer des jeux off-chain vérifiables.
Qu’est-ce qu’un jeu on-chain vérifiable
Nous savons maintenant que la combinaison de l’industrie du jeu et de la technologie Blockchain prendra soit le mode GameFi de off-chain d’actifs, soit le mode de jeu off-chain de l’état off-chain. La définition générale d’un jeu on-chain est la suivante : toute la logique du jeu, l’état (actifs et autres) sont sur la off-chain, mis en œuvre via des smart contracts.
En tant que plate-forme smart contracts, Ethereum s’agit naturellement d’une machine à états distribuée qui peut effectuer des calculs de off-chain et une vérification d’état légèrement plus simples. Tout le monde a donc essayé d’écrire la logique du jeu dans les smart contracts, de sorte que le jeu est devenu un jeu de décentralisation sans backend de serveur, et a apporté un degré plus élevé de composabilité en termes de règles de jeu. Cependant, le problème se pose également : la puissance de calcul de Ethereum Mainnet est trop faible, et le coût d’utilisation est très élevé, même si vous envisagez d’utiliser des chaînes de couche 2 hautes performances ou d’autres chaînes publiques, cela ne peut pas répondre aux besoins des jeux off-chain
Inspiré du rollup de couche 2, puisque les opérations de transfert à plus grande échelle peuvent être vérifiées off-chain le calcul off-chain off-chain pourquoi ne pas gérer l’exécution de la logique du jeu de la même manière ? Bien que la logique du jeu soit calculée off-chain, chaque étape de l’opération peut être vérifiée sur la on-chain, ce qui assure également la décentralisation et l’absence de confiance du jeu, d’où vient le mot « vérifiable », et même nous pouvons simplement faire une analogie : le TX dans le rollup de couche 2 est une transaction de transfert ordinaire, et le TX dans le jeu on-chain vérifiable est la transaction on-chain du jeu.
Selon la méthode de vérification on-chain, les rollups sont divisés en OP-rollups et ZK-rollups. De même, les jeux on-chain vérifiables utilisant des zk-SNARKs présentent des avantages exceptionnels en termes de finalité et de performance de vérification d’état, c’est pourquoi Dojo et Zypher Network ont choisi ZKP pour développer des jeux on-chain vérifiables.
Kit de développement Zypher Network
Le kit de développement de Zypher Network se compose de 3 parties, à savoir AW Engine, Secret Engine et Zytron kit.
AW Engine : Tire parti des capacités de compression d’informations de ZKP pour assurer l’évolutivité. Un cadre modulaire qui permet au jeu d’être super évolutif verticalement. Programmable via un circuit ou zkVM. Son SDK z4 peut support des événements de nostalgie en temps réel dans le jeu (joueur contre joueur).
Moteur secret : La capacité de dissimulation d’informations de ZKP est utilisée pour fournir des jeux d’informations asymétriques. Un kit de développement logiciel pour zk-SNARKs en tant que service qui fournit une asymétrie d’information pour les jeux qui nécessitent des mécanismes de stratégie. Les ZK-SNARK (ZKP sont capables de mettre pleinement en œuvre le calcul de la confidentialité et le caractère aléatoire sur la chaîne off-chain et peuvent prouver leur équité.
Kit Zytron : Pile de couche 3. Une pile de chaînes de cumul souverainL3 qui permet un déploiement pratique de l’infrastructure de jeu, y compris l’optimisation de la couche peer-to-peer, le partitionnement de serveur, etc. Conçu pour les jeux de nostalgie massifs et la construction AW.
AW Engine, un framework modulaire pour les zk-SNARKs
AW Engine est responsable de la construction du circuit ZKP, de la génération des épreuves et de la vérification des épreuves, il est donc au cœur de la suite. Il se compose des sections suivantes :
Gadgets (gadgets) : Prend en charge divers gadgets utilisés dans le développement de circuits de jeu, y compris les hachages de base, l’ecc, les masques, le mélange, etc.
Circuits spécifiques à l’application : utilisez plonk spécifique à l’application comme schéma de base pour les preuves zk, et écrivez des circuits de jeu spécifiques via divers gadgets fournis par le SDK. Il prend en charge la compilation de circuits directement dans wasm et peut les exécuter dans un navigateur ou une application. Dans le même temps, il offre également la possibilité de fonctionner dans différentes machines virtuelles (EVM / WASM / … Ces contrats peuvent s’exécuter dans différents systèmes Blockchain pour réaliser la génération de preuves off-chain et la vérification on-chain.
Validateurs on-chain : wasm optimisé pour les prouveurs et les validateurs, ainsi que le support pour les validateurs de solidité communs pour toutes les chaînes EVM, et les validateurs Move-lang pour les chaînes basées sur Move.
Moteur PVP de nostalgie Z4 : Z4 est un système de jeux de nostalgie en temps réel. Il met à l’échelle les capacités de traitement des événements de longue durée en externalisant les événements joueur contre joueur (PvP) à des nœuds zk-rollup dédiés.
Le schéma ci-dessus illustre le principe de fonctionnement et l’architecture d’AW Engine. Ce moteur de jeu est divisé en plusieurs parties principales, et je vais vous expliquer la fonction de chaque section étape par étape :
Zypher Plonk / Bulletproofs / Groth16 / STARKs : Ce sont tous des schémas zk-SNARKs différents. Cela montre que le moteur de jeu prend en charge les types de schémas ZKP les plus longs, ce qui permet aux développeurs de jeux de choisir le système de preuve approprié en fonction de leurs besoins.
VM/DSL général : il s’agit d’une machine virtuelle à usage général ou d’un langage DSL (Domain-Specific Language) utilisé pour écrire et exécuter la logique du jeu. Zypher Network a officiellement annoncé un partenariat stratégique avec Risc Zero, qui devrait intégrer le zkVM générique de sa famille.
Gadgets et circuits Zypher : Ces gadgets et circuits sont les éléments de base de la construction de ZKP. Dans les zk-SNARKs, les gadgets sont des fonctions prédéfinies ou des morceaux de logique, et les circuits sont les processus de calcul plus importants qui connectent ces gadgets.
Game Proof Circuit : Le Game Proof Circuit est une version zk-SNARKs de toute la logique du jeu. Ici, un circuit est créé qui valide les règles du jeu sans révéler les actions ou les stratégies spécifiques du joueur.
API Prover : L’API Prover est une interface à travers laquelle les développeurs génèrent des preuves. Dans le contexte du jeu, il s’agit de prouver que les actions du joueur ont été effectuées conformément aux règles du jeu.
Onchain Verifier API : Le off-chain validateurs API est une autre interface permettant de vérifier les attestations fournies susmentionnées. Cela se fait sur la Blockchain pour s’assurer que chaque étape du jeu est équitable et transparente.
Marché ZK Proof : Pour les joueurs sur les appareils mobiles, il existe un marché de calcul de preuve de décentralisation où les joueurs peuvent externaliser le calcul de preuve ; cela rend en outre le matériel de jeu off-chain agnostique.
Jeu : La partie jeu du calcul off-chain contient la logique de jeu réelle et l’interface utilisateur qui permet aux joueurs de jouer.
Jeu Onchain : Après avoir soumis la preuve au Blockchain, le jeu devient un jeu Décentralisation et Trustless off-chain. Il peut être comparé à DA Proof en couche 2 pour un fonctionnement hors chaîne.
Dans l’ensemble, AW Engine exploite les zk-SNARKs pour assurer la sécurité et l’équité du jeu. Il permet de vérifier la logique du jeu sans exposer d’informations critiques, offrant ainsi une nouvelle façon de développer et d’exécuter des jeux construits sur la Blockchain.
Enfin, examinons l’ensemble du flux de travail du moteur du point de vue d’un développeur :
1. Stade de développement :
Tout d’abord, les développeurs choisissent le schéma zk-SNARKs approprié (tel que Plonk, Bulletproofs, Groth16 ou STARKs).
Ils utilisent ensuite l’un de ces scénarios pour créer des « gadgets et circuits Zypher », qui sont les éléments constitutifs de la logique du jeu.
Ces blocs de construction sont combinés en un « Game Proof Circuit » complet, qui est un circuit à connaissance nulle qui prouve la validité de l’état du jeu sans révéler d’informations spécifiques.
2. Génération de preuves (Prover API) :
Chaque action ou changement d’état dans le jeu est converti en preuve sur le backend via l’"API Prover », qui est infalsifiable et ne révèle aucune donnée critique du jeu.
Cette preuve signifie que l’action de jeu ou l’état de jeu du joueur est conforme aux règles du jeu.
La preuve générée est ensuite soumise à la Blockchain via l’"API Onchain Verifier ».
Ce validateur on-chain vérifiera la validité de la preuve de validation, confirmera la légitimité de l’action ou de l’état du jeu et assurera l’équité et l’exactitude du jeu.
Le processus ci-dessus n’inclut pas le système de combat nostalgique Z4, en fait, ZKP peut non seulement « vérifier » la logique du jeu, mais aussi « vérifier » le « système de combat nostalgique ».
L’image ci-dessus est un diagramme de flux de travail du moteur Z4, et on peut voir que la façon dont le moteur Z4 prend en charge les jeux long joueurs en temps réel est de créer des salles sans état pour le matchmaking et le gameplay des joueurs, qui sont Nœud support par zk-rollup, Nœud n’enregistrent pas les données. Lorsque la logique du jeu s’exécute sur le nœud, toutes les opérations sont triées et résumées, et sont confirmées par zk-SNARKs. Une fois le jeu terminé, la preuve de l’opération et de la conclusion est téléchargée sur la chaîne off-chain pour vérification. Z4 Nœud peut exécuter la logique du jeu directement sans utiliser de machine virtuelle, évitant ainsi les frais de transaction et de gas. La machine virtuelle (telle que WASM/EVM) peut également être utilisée sur le nœud pour exécuter la logique du jeu si nécessaire. L’ensemble du processus est conçu pour prendre en support des volumes à l’échelle du réseau de millions, voire de milliards par seconde, afin de garantir des performances de concurrence élevées et en temps réel du jeu.
Module d’information asymétrique Secret Engine
Le brouillard de guerre est une mécanique que l’on trouve couramment dans les jeux, avec des exemples typiques tels que StarCraft et Warcraft 3. Cette conception cache des informations en couvrant certaines zones de la carte du jeu, qui ne sont révélées que lorsque le joueur explore ces zones. Cette mécanique augmente l’imprévisibilité de l’environnement de jeu et est typique des jeux d’information dits asymétriques. La plupart de long jeux MMO populaires présentent des mécanismes de jeu d’informations asymétriques, qui offrent aux joueurs plus de long short à explorer et à élaborer des stratégies.
Cependant, dans la technologie Blockchain, les données sont généralement complètement ouvertes et transparentes, ce qui rend difficile la mise en œuvre de mécanismes d’information asymétriques. Cependant, en utilisant zkSNARKs, une technologie zk-SNARKs, les jeux Dark Forest réussissent à maintenir leur statut de confidentialité tandis que les joueurs doivent soumettre publiquement des actions vérifiables. De cette façon, Dark Forest crée un environnement de jeu avec des informations incomplètes sur la Blockchain. Cependant, cette méthode complexe de masquage d’informations nécessite une programmation de circuit ZK personnalisée, de sorte qu’un masquage d’informations étendu ne peut pas être implémenté dans les jeux off-chain.
Secret Engine résout partiellement ce problème avec des WASM optimisés et des contrats précompilés, et implémente un processus de lecture aléatoire de décentralisation haute performance et peu coûteux via Shuffle SDK. Les circuits de brassage et les protocoles garantissent l’exécution sécurisée de calculs de chiffrement vérifiables, garantissant ainsi que les éléments de politique restent confidentiels dans la chaîne off-chain. En plus du poker, du Monopoly et des jeux de cartes à collectionner, le SDK peut être appliqué à d’autres cas d’utilisation de SLG qui nécessitent une confiance et un caractère aléatoire, tels que :
Tromperie sociale : Un jeu de tromperie sociale qui protège l’identité secrète ou la stratégie du joueur.
Placement secret**:** Les actions de placement secrètes dans le jeu, telles que la dissimulation d’unités ou d’emplacements de ressources, peuvent être mises en œuvre en toute sécurité.
Brouillard de guerre :* est le brouillard de guerre, qui peut être utilisé pour s’assurer que certaines parties de la carte sont gardées secrètes pour certains joueurs jusqu’à ce que certaines conditions soient remplies.
Deux kits de développement logiciel (SDK) sont couramment utilisés :
zk-Shuffle-as-a-service :* Les joueurs se relaient pour chiffrer et mélanger les cartes pour produire un jeu de cartes « scellé » et trié aléatoirement, ce qui fournit une solution que les générateurs de nombres aléatoires traditionnels tels que les fonctions aléatoires vérifiables (VRF) ne peuvent pas fournir.
zk-Matchmaking-as-a-service :* Les joueurs soumettent une « graine de preuve » pour générer un nombre aléatoire et le faire correspondre off-chain, l’ensemble du processus peut être prouvé grâce à zkp.
Cette image illustre le flux de travail du Kit de développement logiciel (SDK) Shuffle :
1. Zypher PlonK :
PlonK de base : Il s’agit d’un schéma de preuve zk-SNARK à usage général qui permet de générer des preuves pour vérifier l’exactitude de calculs complexes sans révéler d’informations supplémentaires.
Sélecteurs de mélange : Il s’agit de logiques ou de configurations spécifiques au processus de mélange qui permettent au système d’épreuve PlonK d’effectuer correctement le mélange des cartes.
2. Circuit de lecture aléatoire :
Chaum Pedersen : Ce sous-composant est utilisé pour garantir la confidentialité du processus de mélange. Il est généralement lié aux signatures numériques ou au chiffrement, où le chiffrement de chaque carte est sécurisé.
Révéler : cette étape consiste à révéler en toute sécurité l’identité d’une carte en cas de besoin, sans révéler d’informations sur d’autres cartes.
Permutation : Il s’agit du processus réel de mélange des cartes, c’est-à-dire de la réorganisation des cartes.
Modèle de carte : définit le modèle de données de la carte, ce qui est essentiel pour créer la version de chiffrement de la carte et vérifier ultérieurement le mélange.
3. Kit de développement logiciel (SDK) aléatoire :
Prover SDK (Rust/WASM) : Ce kit de développement logiciel permet aux développeurs de jeux de générer des zk-SNARKs pour prouver que le processus de mélange est correct sans révéler la ordre réelle des cartes.
Onchain Verifier SDK (Solidity/WASM/Move) : ce SDK est utilisé pour créer des off-chain validateurs et vérifier l’exactitude des preuves de lecture aléatoire.
L’introduction ci-dessus est peut-être encore trop abstraite, utilisons un Texas Hold’em off-chain comme exemple pour illustrer le principe du SDK Shuffle.
Dans le jeu, nous devons stocker les résultats de la « pile mélangée » sur la off-chain. Cela sert non seulement de résultat du mélange en cours, mais aussi d’entrée commune pour les « mélanges » suivants, comme illustré dans l’opération Configurer la pile. Dans un premier temps, configurez la platine pour qu’elle stocke la platine initialisée par défaut. Cependant, le stockage off-chain est notoirement coûteux, en particulier pour les gros volumes de données. Un jeu de 52 cartes se compose d’un total de 208 types de données, ce qui rend les coûts de stockage importants.
La solution de Zypher consiste à ne stocker qu’une partie des données sur la chaîne off-chain après le mélange, en particulier, il suffit de stocker 2n + 5 cartes, où n est le nombre de joueurs. Étant donné que 6 longues cartes sont actuellement prises en charge, 17 cartes sont longues au maximum. Cela signifie qu’en fin de compte, seules ces 17 cartes doivent être stockées sur la chaîne off-chain. Mais comme mentionné précédemment, un autre objectif du stockage hors chaîne est que ces cartes serviront également d’entrée commune pour les mélanges ultérieurs. Par conséquent, si seulement 17 cartes sont stockées, il est impossible de vérifier l’exactitude du mélange.
Pour résoudre ce problème, le circuit zk-shuffle de Zypher génère en outre le hash de la platine complète en tant qu’entrée commune, qui est également stockée off-chain. Lors de la vérification de zk-shuffle, l’utilisateur télécharge la pile de pré-lecture aléatoire en tant qu’entrée commune, et le circuit calcule le hash de la carte téléchargée par l’utilisateur et le compare au hash stocké sur la chaîne off-chain. Enfin, étant donné que seule une partie des données est conservée off-chain, les utilisateurs peuvent avoir besoin d’acquérir les 52 cartes complètes. Pour cela, il est possible d’utiliser des événements contractuels. Les événements sont une méthode de communication extrêmement peu coûteuse qui permet aux utilisateurs d’écouter les événements pour obtenir des données de jeu complètes.
En résumé, le cœur de l’ensemble du processus est l’utilisation de zk-SNARKs pour garantir la confidentialité et l’exactitude du mélange. De cette façon, les décisions et les stratégies des joueurs restent privées, même si toutes les actions sont enregistrées publiquement sur la Blockchain.
Kit Zytron Sovereign L3 stack
Le kit Zytron est une pile de cumul souverain de couche 3 hautement personnalisable qui prend en charge le moteur de jeu de Zypher sous la forme d’un contrat précompilé.
L’infrastructure Dapp existante, principalement les EVM, n’avait pas la bougie à longue mèche pour optimiser les cas d’utilisation très réactifs tels que les jeux on-chain, et ne fournissait pas la rentabilité et l’évolutivité requises. Les MMO et autres jeux hautes performances nécessitent une infrastructure dédiée et personnalisée avec des ressources informatiques efficaces et prévisibles. Le premier réseau alpha de Zytron, avec 0 gas, 0,2 S de temps de bloc, des contrats précompilés conçus spécifiquement pour les jeux, sera lancé dans un proche avenir, avec 10 jeux prévus en tant que testeurs pionniers.
Le kit propose 4 composants de base plug-and-play :
Sovereign Rollup : La chose la plus importante dans le jeu est la jouabilité, qui nécessite la plus haute disponibilité (CAP) dans un système distribué, et l’ensemble du système peut être rapidement mis à niveau et déployé automatiquement.
Server Sharding : Répartissez la carte du monde du jeu sur différents nœuds pour augmenter la capacité de charge d’un seul nœud. Dans le même temps, il fournit un ensemble d’algorithmes de récupération efficaces pour passer rapidement d’un nœud à l’autre sur la carte globale, passer d’un service de nœud à l’autre et synchroniser les informations.
Compatibilité des données : composant essentiel à l’abstraction du stockage, le protocole intègre des bases de données relationnelles et de mise en cache plus conviviales pour accélérer le traitement des données de jeu. Cette fonctionnalité répond au besoin d’une gestion efficace des données et d’un accès rapide, ce qui est essentiel pour maintenir une expérience de jeu fluide.
Mise en réseau personnalisée : compte tenu des besoins élevés en matière de mise en réseau du jeu, le framework optimise le Network Layer peer-to-peer (P2P) sous-jacent pour support scénarios de jeu. Cela inclut des optimisations pour la messagerie intra-groupe, l’utilisation de techniques de traversée NAT et de perforation pour des connexions rapides et efficaces. En outre, le réseau a bougie à longue mèche conçu un protocole UDP spécial pour le jeu, conçu pour maintenir la latence en dessous de 10 millisecondes. Cela garantit un transfert de données rapide et fiable, ce qui est essentiel pour les expériences de jeu en temps réel.
Les rollups souverains sont un concept plus récent qui ajoute un niveau plus élevé d’autonomie et de flexibilité aux rollups normaux, permettant de construire des réseaux Blockchain indépendants avec une autonomie complète sur eux. Cela signifie que chaque rollup souverain peut avoir son propre mécanisme de consensus, sa propre machine à états et son propre modèle de gouvernance, tout en maintenant la compatibilité avec mainchain.
À partir du diagramme de cadre ci-dessus, nous pouvons comprendre les fonctions de chaque composant de la suite Zytron :
**1. Les composants de base fournissent l’infrastructure de la chaîne de jeu, ce qui permet un haut degré de personnalisation et d’optimisation. **
Sovereign Rollup garantit la jouabilité et la haute disponibilité du jeu, en prenant en charge les mises à niveau rapides et le déploiement automatique du système.
Le Sharding du serveur augmente la capacité de charge d’un seul Nœud en répartissant le monde du jeu à travers long Nœud.
La compatibilité des données assure un traitement rapide des données de jeu grâce à l’intégration d’un système de base de données convivial.
Le réseau personnalisé optimise la couche réseau P2P sous-jacente pour répondre aux exigences élevées du jeu, y compris la messagerie optimisée entre les groupes et la réduction de la latence.
**2. Les composants on-chain contiennent les parties de base fonctionnant sur l’on-chain pour garantir l’exactitude de la logique du jeu et la sécurité des actifs. **
Les validateurs on-chain s’assurent que toutes les transactions et opérations de jeu sont valides et légitimes.
Les contrats intelligents servent de support de codage des règles et de la logique du jeu, gérant l’interaction entre les joueurs et le changement d’état du jeu.
**3. Les composants du module fournissent la mise en œuvre de fonctionnalités et de services de jeu spécifiques. **
Le système ZK fournit un support pour les protections de la vie privée, telles que le calcul et la vérification préservant la vie privée.
Le système de compte d’écoute et le système de messagerie instantanée fournissent des fonctions de gestion des utilisateurs et de communication en temps réel.
Les systèmes de surveillance sont utilisés pour surveiller l’état du réseau et l’état du jeu.
Les systèmes de salle, les systèmes financiers et les systèmes d’IA fournissent la gestion des salles de jeu, les transactions financières et le support de l’IA.
Le système de journalisation enregistre toutes les opérations et tous les événements à des fins d’analyse et de débogage.
Le diagramme ci-dessus montre le flux de travail de la pile de kits Zytron :
Les transactions sont d’abord générées sur la couche 3 et sont ordonnées par le séquenceur.
Le nœud Runner écoute les événements de couche 1/2 et la sortie du séquenceur, et ils communiquent entre eux pour exécuter des transactions et parvenir à un consensus pour implémenter la fonctionnalité de Sharding de service.
Les données sont soumises à Celestia sur une base régulière afin d’assurer la disponibilité et la sécurité des données.
Les clients interagissent avec la couche 3 par le biais d’une synchronisation légère et peuvent appeler les services fournis par la couche 3.
Plus intéressant encore, les deux premières suites de moteurs, y compris AW Engine et Secret Engine, peuvent être intégrées au kit Zytron sous une forme précompilée pour fournir une infrastructure efficace, réactive et riche en fonctionnalités pour les jeux off-chain sous une forme plus minimaliste. Les développeurs peuvent également choisir les composants appropriés en fonction de leurs besoins pour créer un environnement de chaîne qui correspond à la conception de leur jeu. Zypher prend non seulement en charge l’écosystème ETH, mais explore également activement la possibilité de off-chain jeux et L3 dans l’écosystème BTC, Zypher et le réseau Layer2 B² de BTC ont officiellement annoncé qu’ils déploieront off-chain couche 3 exclusive au jeu basée sur B² Network et son DA Layer B² Hub, qui sera la première couche 3 de l’écosystème BTC à support off-chain jeux. Zypher est devenu le premier moteur de développement de jeux on-chain à prendre en support l’écosystème BTC.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Comment développer des jeux on-chain vérifiables avec Zypher ?
Depuis que Dojo de l’écosystème Starknet a proposé le concept de jeux off-chain prouvables, de nombreuses équipes ont commencé à explorer ce domaine, comme paima utilisant la compression d’état NFT, redux utilisant l’arbre de Merkle et les inscriptions d’état, etc. Zypher Network (@Zypher_Network) a également publié une série de kits de développement basés sur la technologie zk-SNARKs pour aider à créer des jeux off-chain vérifiables.
Qu’est-ce qu’un jeu on-chain vérifiable
Nous savons maintenant que la combinaison de l’industrie du jeu et de la technologie Blockchain prendra soit le mode GameFi de off-chain d’actifs, soit le mode de jeu off-chain de l’état off-chain. La définition générale d’un jeu on-chain est la suivante : toute la logique du jeu, l’état (actifs et autres) sont sur la off-chain, mis en œuvre via des smart contracts.
En tant que plate-forme smart contracts, Ethereum s’agit naturellement d’une machine à états distribuée qui peut effectuer des calculs de off-chain et une vérification d’état légèrement plus simples. Tout le monde a donc essayé d’écrire la logique du jeu dans les smart contracts, de sorte que le jeu est devenu un jeu de décentralisation sans backend de serveur, et a apporté un degré plus élevé de composabilité en termes de règles de jeu. Cependant, le problème se pose également : la puissance de calcul de Ethereum Mainnet est trop faible, et le coût d’utilisation est très élevé, même si vous envisagez d’utiliser des chaînes de couche 2 hautes performances ou d’autres chaînes publiques, cela ne peut pas répondre aux besoins des jeux off-chain
Inspiré du rollup de couche 2, puisque les opérations de transfert à plus grande échelle peuvent être vérifiées off-chain le calcul off-chain off-chain pourquoi ne pas gérer l’exécution de la logique du jeu de la même manière ? Bien que la logique du jeu soit calculée off-chain, chaque étape de l’opération peut être vérifiée sur la on-chain, ce qui assure également la décentralisation et l’absence de confiance du jeu, d’où vient le mot « vérifiable », et même nous pouvons simplement faire une analogie : le TX dans le rollup de couche 2 est une transaction de transfert ordinaire, et le TX dans le jeu on-chain vérifiable est la transaction on-chain du jeu.
Selon la méthode de vérification on-chain, les rollups sont divisés en OP-rollups et ZK-rollups. De même, les jeux on-chain vérifiables utilisant des zk-SNARKs présentent des avantages exceptionnels en termes de finalité et de performance de vérification d’état, c’est pourquoi Dojo et Zypher Network ont choisi ZKP pour développer des jeux on-chain vérifiables.
Kit de développement Zypher Network
Le kit de développement de Zypher Network se compose de 3 parties, à savoir AW Engine, Secret Engine et Zytron kit.
AW Engine : Tire parti des capacités de compression d’informations de ZKP pour assurer l’évolutivité. Un cadre modulaire qui permet au jeu d’être super évolutif verticalement. Programmable via un circuit ou zkVM. Son SDK z4 peut support des événements de nostalgie en temps réel dans le jeu (joueur contre joueur).
Moteur secret : La capacité de dissimulation d’informations de ZKP est utilisée pour fournir des jeux d’informations asymétriques. Un kit de développement logiciel pour zk-SNARKs en tant que service qui fournit une asymétrie d’information pour les jeux qui nécessitent des mécanismes de stratégie. Les ZK-SNARK (ZKP sont capables de mettre pleinement en œuvre le calcul de la confidentialité et le caractère aléatoire sur la chaîne off-chain et peuvent prouver leur équité.
Kit Zytron : Pile de couche 3. Une pile de chaînes de cumul souverainL3 qui permet un déploiement pratique de l’infrastructure de jeu, y compris l’optimisation de la couche peer-to-peer, le partitionnement de serveur, etc. Conçu pour les jeux de nostalgie massifs et la construction AW.
AW Engine, un framework modulaire pour les zk-SNARKs
AW Engine est responsable de la construction du circuit ZKP, de la génération des épreuves et de la vérification des épreuves, il est donc au cœur de la suite. Il se compose des sections suivantes :
Le schéma ci-dessus illustre le principe de fonctionnement et l’architecture d’AW Engine. Ce moteur de jeu est divisé en plusieurs parties principales, et je vais vous expliquer la fonction de chaque section étape par étape :
Zypher Plonk / Bulletproofs / Groth16 / STARKs : Ce sont tous des schémas zk-SNARKs différents. Cela montre que le moteur de jeu prend en charge les types de schémas ZKP les plus longs, ce qui permet aux développeurs de jeux de choisir le système de preuve approprié en fonction de leurs besoins.
VM/DSL général : il s’agit d’une machine virtuelle à usage général ou d’un langage DSL (Domain-Specific Language) utilisé pour écrire et exécuter la logique du jeu. Zypher Network a officiellement annoncé un partenariat stratégique avec Risc Zero, qui devrait intégrer le zkVM générique de sa famille.
Gadgets et circuits Zypher : Ces gadgets et circuits sont les éléments de base de la construction de ZKP. Dans les zk-SNARKs, les gadgets sont des fonctions prédéfinies ou des morceaux de logique, et les circuits sont les processus de calcul plus importants qui connectent ces gadgets.
Game Proof Circuit : Le Game Proof Circuit est une version zk-SNARKs de toute la logique du jeu. Ici, un circuit est créé qui valide les règles du jeu sans révéler les actions ou les stratégies spécifiques du joueur.
API Prover : L’API Prover est une interface à travers laquelle les développeurs génèrent des preuves. Dans le contexte du jeu, il s’agit de prouver que les actions du joueur ont été effectuées conformément aux règles du jeu.
Onchain Verifier API : Le off-chain validateurs API est une autre interface permettant de vérifier les attestations fournies susmentionnées. Cela se fait sur la Blockchain pour s’assurer que chaque étape du jeu est équitable et transparente.
Marché ZK Proof : Pour les joueurs sur les appareils mobiles, il existe un marché de calcul de preuve de décentralisation où les joueurs peuvent externaliser le calcul de preuve ; cela rend en outre le matériel de jeu off-chain agnostique.
Jeu : La partie jeu du calcul off-chain contient la logique de jeu réelle et l’interface utilisateur qui permet aux joueurs de jouer.
Jeu Onchain : Après avoir soumis la preuve au Blockchain, le jeu devient un jeu Décentralisation et Trustless off-chain. Il peut être comparé à DA Proof en couche 2 pour un fonctionnement hors chaîne.
Dans l’ensemble, AW Engine exploite les zk-SNARKs pour assurer la sécurité et l’équité du jeu. Il permet de vérifier la logique du jeu sans exposer d’informations critiques, offrant ainsi une nouvelle façon de développer et d’exécuter des jeux construits sur la Blockchain.
Enfin, examinons l’ensemble du flux de travail du moteur du point de vue d’un développeur :
1. Stade de développement :
Tout d’abord, les développeurs choisissent le schéma zk-SNARKs approprié (tel que Plonk, Bulletproofs, Groth16 ou STARKs).
Ils utilisent ensuite l’un de ces scénarios pour créer des « gadgets et circuits Zypher », qui sont les éléments constitutifs de la logique du jeu.
Ces blocs de construction sont combinés en un « Game Proof Circuit » complet, qui est un circuit à connaissance nulle qui prouve la validité de l’état du jeu sans révéler d’informations spécifiques.
2. Génération de preuves (Prover API) :
Chaque action ou changement d’état dans le jeu est converti en preuve sur le backend via l’"API Prover », qui est infalsifiable et ne révèle aucune donnée critique du jeu.
Cette preuve signifie que l’action de jeu ou l’état de jeu du joueur est conforme aux règles du jeu.
3. Authentification off-chain (Onchain Verifier API) :
La preuve générée est ensuite soumise à la Blockchain via l’"API Onchain Verifier ».
Ce validateur on-chain vérifiera la validité de la preuve de validation, confirmera la légitimité de l’action ou de l’état du jeu et assurera l’équité et l’exactitude du jeu.
Le processus ci-dessus n’inclut pas le système de combat nostalgique Z4, en fait, ZKP peut non seulement « vérifier » la logique du jeu, mais aussi « vérifier » le « système de combat nostalgique ».
L’image ci-dessus est un diagramme de flux de travail du moteur Z4, et on peut voir que la façon dont le moteur Z4 prend en charge les jeux long joueurs en temps réel est de créer des salles sans état pour le matchmaking et le gameplay des joueurs, qui sont Nœud support par zk-rollup, Nœud n’enregistrent pas les données. Lorsque la logique du jeu s’exécute sur le nœud, toutes les opérations sont triées et résumées, et sont confirmées par zk-SNARKs. Une fois le jeu terminé, la preuve de l’opération et de la conclusion est téléchargée sur la chaîne off-chain pour vérification. Z4 Nœud peut exécuter la logique du jeu directement sans utiliser de machine virtuelle, évitant ainsi les frais de transaction et de gas. La machine virtuelle (telle que WASM/EVM) peut également être utilisée sur le nœud pour exécuter la logique du jeu si nécessaire. L’ensemble du processus est conçu pour prendre en support des volumes à l’échelle du réseau de millions, voire de milliards par seconde, afin de garantir des performances de concurrence élevées et en temps réel du jeu.
Module d’information asymétrique Secret Engine
Le brouillard de guerre est une mécanique que l’on trouve couramment dans les jeux, avec des exemples typiques tels que StarCraft et Warcraft 3. Cette conception cache des informations en couvrant certaines zones de la carte du jeu, qui ne sont révélées que lorsque le joueur explore ces zones. Cette mécanique augmente l’imprévisibilité de l’environnement de jeu et est typique des jeux d’information dits asymétriques. La plupart de long jeux MMO populaires présentent des mécanismes de jeu d’informations asymétriques, qui offrent aux joueurs plus de long short à explorer et à élaborer des stratégies.
Cependant, dans la technologie Blockchain, les données sont généralement complètement ouvertes et transparentes, ce qui rend difficile la mise en œuvre de mécanismes d’information asymétriques. Cependant, en utilisant zkSNARKs, une technologie zk-SNARKs, les jeux Dark Forest réussissent à maintenir leur statut de confidentialité tandis que les joueurs doivent soumettre publiquement des actions vérifiables. De cette façon, Dark Forest crée un environnement de jeu avec des informations incomplètes sur la Blockchain. Cependant, cette méthode complexe de masquage d’informations nécessite une programmation de circuit ZK personnalisée, de sorte qu’un masquage d’informations étendu ne peut pas être implémenté dans les jeux off-chain.
Secret Engine résout partiellement ce problème avec des WASM optimisés et des contrats précompilés, et implémente un processus de lecture aléatoire de décentralisation haute performance et peu coûteux via Shuffle SDK. Les circuits de brassage et les protocoles garantissent l’exécution sécurisée de calculs de chiffrement vérifiables, garantissant ainsi que les éléments de politique restent confidentiels dans la chaîne off-chain. En plus du poker, du Monopoly et des jeux de cartes à collectionner, le SDK peut être appliqué à d’autres cas d’utilisation de SLG qui nécessitent une confiance et un caractère aléatoire, tels que :
Tromperie sociale : Un jeu de tromperie sociale qui protège l’identité secrète ou la stratégie du joueur. Placement secret**:** Les actions de placement secrètes dans le jeu, telles que la dissimulation d’unités ou d’emplacements de ressources, peuvent être mises en œuvre en toute sécurité. Brouillard de guerre :* est le brouillard de guerre, qui peut être utilisé pour s’assurer que certaines parties de la carte sont gardées secrètes pour certains joueurs jusqu’à ce que certaines conditions soient remplies.
Deux kits de développement logiciel (SDK) sont couramment utilisés :
zk-Shuffle-as-a-service :* Les joueurs se relaient pour chiffrer et mélanger les cartes pour produire un jeu de cartes « scellé » et trié aléatoirement, ce qui fournit une solution que les générateurs de nombres aléatoires traditionnels tels que les fonctions aléatoires vérifiables (VRF) ne peuvent pas fournir. zk-Matchmaking-as-a-service :* Les joueurs soumettent une « graine de preuve » pour générer un nombre aléatoire et le faire correspondre off-chain, l’ensemble du processus peut être prouvé grâce à zkp.
Cette image illustre le flux de travail du Kit de développement logiciel (SDK) Shuffle :
1. Zypher PlonK :
PlonK de base : Il s’agit d’un schéma de preuve zk-SNARK à usage général qui permet de générer des preuves pour vérifier l’exactitude de calculs complexes sans révéler d’informations supplémentaires.
Sélecteurs de mélange : Il s’agit de logiques ou de configurations spécifiques au processus de mélange qui permettent au système d’épreuve PlonK d’effectuer correctement le mélange des cartes.
2. Circuit de lecture aléatoire :
Chaum Pedersen : Ce sous-composant est utilisé pour garantir la confidentialité du processus de mélange. Il est généralement lié aux signatures numériques ou au chiffrement, où le chiffrement de chaque carte est sécurisé.
Révéler : cette étape consiste à révéler en toute sécurité l’identité d’une carte en cas de besoin, sans révéler d’informations sur d’autres cartes.
Permutation : Il s’agit du processus réel de mélange des cartes, c’est-à-dire de la réorganisation des cartes.
Modèle de carte : définit le modèle de données de la carte, ce qui est essentiel pour créer la version de chiffrement de la carte et vérifier ultérieurement le mélange.
3. Kit de développement logiciel (SDK) aléatoire :
Prover SDK (Rust/WASM) : Ce kit de développement logiciel permet aux développeurs de jeux de générer des zk-SNARKs pour prouver que le processus de mélange est correct sans révéler la ordre réelle des cartes.
Onchain Verifier SDK (Solidity/WASM/Move) : ce SDK est utilisé pour créer des off-chain validateurs et vérifier l’exactitude des preuves de lecture aléatoire.
L’introduction ci-dessus est peut-être encore trop abstraite, utilisons un Texas Hold’em off-chain comme exemple pour illustrer le principe du SDK Shuffle.
Dans le jeu, nous devons stocker les résultats de la « pile mélangée » sur la off-chain. Cela sert non seulement de résultat du mélange en cours, mais aussi d’entrée commune pour les « mélanges » suivants, comme illustré dans l’opération Configurer la pile. Dans un premier temps, configurez la platine pour qu’elle stocke la platine initialisée par défaut. Cependant, le stockage off-chain est notoirement coûteux, en particulier pour les gros volumes de données. Un jeu de 52 cartes se compose d’un total de 208 types de données, ce qui rend les coûts de stockage importants.
La solution de Zypher consiste à ne stocker qu’une partie des données sur la chaîne off-chain après le mélange, en particulier, il suffit de stocker 2n + 5 cartes, où n est le nombre de joueurs. Étant donné que 6 longues cartes sont actuellement prises en charge, 17 cartes sont longues au maximum. Cela signifie qu’en fin de compte, seules ces 17 cartes doivent être stockées sur la chaîne off-chain. Mais comme mentionné précédemment, un autre objectif du stockage hors chaîne est que ces cartes serviront également d’entrée commune pour les mélanges ultérieurs. Par conséquent, si seulement 17 cartes sont stockées, il est impossible de vérifier l’exactitude du mélange.
Pour résoudre ce problème, le circuit zk-shuffle de Zypher génère en outre le hash de la platine complète en tant qu’entrée commune, qui est également stockée off-chain. Lors de la vérification de zk-shuffle, l’utilisateur télécharge la pile de pré-lecture aléatoire en tant qu’entrée commune, et le circuit calcule le hash de la carte téléchargée par l’utilisateur et le compare au hash stocké sur la chaîne off-chain. Enfin, étant donné que seule une partie des données est conservée off-chain, les utilisateurs peuvent avoir besoin d’acquérir les 52 cartes complètes. Pour cela, il est possible d’utiliser des événements contractuels. Les événements sont une méthode de communication extrêmement peu coûteuse qui permet aux utilisateurs d’écouter les événements pour obtenir des données de jeu complètes.
En résumé, le cœur de l’ensemble du processus est l’utilisation de zk-SNARKs pour garantir la confidentialité et l’exactitude du mélange. De cette façon, les décisions et les stratégies des joueurs restent privées, même si toutes les actions sont enregistrées publiquement sur la Blockchain.
Kit Zytron Sovereign L3 stack
Le kit Zytron est une pile de cumul souverain de couche 3 hautement personnalisable qui prend en charge le moteur de jeu de Zypher sous la forme d’un contrat précompilé.
L’infrastructure Dapp existante, principalement les EVM, n’avait pas la bougie à longue mèche pour optimiser les cas d’utilisation très réactifs tels que les jeux on-chain, et ne fournissait pas la rentabilité et l’évolutivité requises. Les MMO et autres jeux hautes performances nécessitent une infrastructure dédiée et personnalisée avec des ressources informatiques efficaces et prévisibles. Le premier réseau alpha de Zytron, avec 0 gas, 0,2 S de temps de bloc, des contrats précompilés conçus spécifiquement pour les jeux, sera lancé dans un proche avenir, avec 10 jeux prévus en tant que testeurs pionniers.
Le kit propose 4 composants de base plug-and-play :
Sovereign Rollup : La chose la plus importante dans le jeu est la jouabilité, qui nécessite la plus haute disponibilité (CAP) dans un système distribué, et l’ensemble du système peut être rapidement mis à niveau et déployé automatiquement. Server Sharding : Répartissez la carte du monde du jeu sur différents nœuds pour augmenter la capacité de charge d’un seul nœud. Dans le même temps, il fournit un ensemble d’algorithmes de récupération efficaces pour passer rapidement d’un nœud à l’autre sur la carte globale, passer d’un service de nœud à l’autre et synchroniser les informations. Compatibilité des données : composant essentiel à l’abstraction du stockage, le protocole intègre des bases de données relationnelles et de mise en cache plus conviviales pour accélérer le traitement des données de jeu. Cette fonctionnalité répond au besoin d’une gestion efficace des données et d’un accès rapide, ce qui est essentiel pour maintenir une expérience de jeu fluide. Mise en réseau personnalisée : compte tenu des besoins élevés en matière de mise en réseau du jeu, le framework optimise le Network Layer peer-to-peer (P2P) sous-jacent pour support scénarios de jeu. Cela inclut des optimisations pour la messagerie intra-groupe, l’utilisation de techniques de traversée NAT et de perforation pour des connexions rapides et efficaces. En outre, le réseau a bougie à longue mèche conçu un protocole UDP spécial pour le jeu, conçu pour maintenir la latence en dessous de 10 millisecondes. Cela garantit un transfert de données rapide et fiable, ce qui est essentiel pour les expériences de jeu en temps réel.
Les rollups souverains sont un concept plus récent qui ajoute un niveau plus élevé d’autonomie et de flexibilité aux rollups normaux, permettant de construire des réseaux Blockchain indépendants avec une autonomie complète sur eux. Cela signifie que chaque rollup souverain peut avoir son propre mécanisme de consensus, sa propre machine à états et son propre modèle de gouvernance, tout en maintenant la compatibilité avec mainchain.
À partir du diagramme de cadre ci-dessus, nous pouvons comprendre les fonctions de chaque composant de la suite Zytron :
**1. Les composants de base fournissent l’infrastructure de la chaîne de jeu, ce qui permet un haut degré de personnalisation et d’optimisation. **
Sovereign Rollup garantit la jouabilité et la haute disponibilité du jeu, en prenant en charge les mises à niveau rapides et le déploiement automatique du système.
Le Sharding du serveur augmente la capacité de charge d’un seul Nœud en répartissant le monde du jeu à travers long Nœud.
La compatibilité des données assure un traitement rapide des données de jeu grâce à l’intégration d’un système de base de données convivial.
Le réseau personnalisé optimise la couche réseau P2P sous-jacente pour répondre aux exigences élevées du jeu, y compris la messagerie optimisée entre les groupes et la réduction de la latence.
**2. Les composants on-chain contiennent les parties de base fonctionnant sur l’on-chain pour garantir l’exactitude de la logique du jeu et la sécurité des actifs. **
Les validateurs on-chain s’assurent que toutes les transactions et opérations de jeu sont valides et légitimes.
Les contrats intelligents servent de support de codage des règles et de la logique du jeu, gérant l’interaction entre les joueurs et le changement d’état du jeu.
**3. Les composants du module fournissent la mise en œuvre de fonctionnalités et de services de jeu spécifiques. **
Le système ZK fournit un support pour les protections de la vie privée, telles que le calcul et la vérification préservant la vie privée.
Le système de compte d’écoute et le système de messagerie instantanée fournissent des fonctions de gestion des utilisateurs et de communication en temps réel.
Les systèmes de surveillance sont utilisés pour surveiller l’état du réseau et l’état du jeu.
Les systèmes de salle, les systèmes financiers et les systèmes d’IA fournissent la gestion des salles de jeu, les transactions financières et le support de l’IA.
Le système de journalisation enregistre toutes les opérations et tous les événements à des fins d’analyse et de débogage.
Le diagramme ci-dessus montre le flux de travail de la pile de kits Zytron :
Plus intéressant encore, les deux premières suites de moteurs, y compris AW Engine et Secret Engine, peuvent être intégrées au kit Zytron sous une forme précompilée pour fournir une infrastructure efficace, réactive et riche en fonctionnalités pour les jeux off-chain sous une forme plus minimaliste. Les développeurs peuvent également choisir les composants appropriés en fonction de leurs besoins pour créer un environnement de chaîne qui correspond à la conception de leur jeu. Zypher prend non seulement en charge l’écosystème ETH, mais explore également activement la possibilité de off-chain jeux et L3 dans l’écosystème BTC, Zypher et le réseau Layer2 B² de BTC ont officiellement annoncé qu’ils déploieront off-chain couche 3 exclusive au jeu basée sur B² Network et son DA Layer B² Hub, qui sera la première couche 3 de l’écosystème BTC à support off-chain jeux. Zypher est devenu le premier moteur de développement de jeux on-chain à prendre en support l’écosystème BTC.