Compilé par Alex Liu, Foresight News
Ethereum a réussi à créer un écosystème d'applications décentralisées en plein essor, mais ses défis d'évolutivité deviennent de plus en plus graves. Les développeurs sont confrontés à un choix difficile : limiter les fonctionnalités et la richesse des données de leurs applications, ou tolérer des frais de gaz élevés et des limites d'utilisation du gaz. Et si les développeurs avaient un moyen de contourner ces restrictions ?
RISC Zero est l'un des principaux développeurs de zkVM Si vous entendez souvent zkEVM dans vos oreilles, mais que vous ne savez pas quel est le mot zkVM, vous pouvez vous référer à cet article. Le dernier lancement de RISC Zero est Steel, une bibliothèque de preuve d'appel de vue basée sur Alloy qui apporte un changement radical dans la façon dont les développeurs interagissent avec Ethereum L1 ou d'autres chaînes EVM. En tirant parti des preuves sans connaissance et de RISC Zero zkVM, Steel permet aux développeurs d'effectuer des appels de visualisation et de lire et calculer de manière prouvée l'état d'Ethereum de manière évolutive, sécurisée et rentable.
Steel comble le fossé entre le développement d'applications Ethereum et la technologie sans connaissance, permettant aux développeurs d'exploiter plus facilement la puissance de ZK dans leurs contrats intelligents. Combiné aux capacités de RISC Zero zkVM, Steel permet aux développeurs de créer des applications plus sécurisées, évolutives et efficaces sur Ethereum L1 ou toute chaîne équivalente EVM.
Avec Steel, les développeurs peuvent :
Avec Steel, exécuter un appel de vue est aussi simple que de spécifier la méthode Solidity requise. Qu'il s'agisse de récupérer les soldes de jetons ERC-20 (exemple) ou d'accéder à tout depuis l'état Ethereum, Steel simplifie le processus en s'intégrant de manière transparente à RISC Zero zkVM tout en garantissant sécurité et efficacité. Les tests ont montré que Steel est capable de gérer plus de 100 000 opérations SLOAD en un seul appel, ce qui permet d'économiser des milliers de dollars en coûts de gaz sur le réseau principal. Nous pouvons le prouver en 15 minutes environ en utilisant Bonsai, qui nécessite au moins 210 millions de gaz, soit 7 fois la limite de bloc.
L'extrait de code suivant démontre le processus d'utilisation de Steel pour prouver le solde d'une adresse spécifique pour un contrat ERC-20 déployé sur Ethereum. Cet exemple montre comment les développeurs peuvent exploiter Steel pour interagir avec les données en chaîne Ethereum au sein de zkVM. Le code complet peut être consulté ici.
Définissez la signature de la fonction d'affichage
Tout d'abord, utilisez la macro sol ! Cela analysera la syntaxe Solidity pour générer une structure Rust correspondante qui implémente le trait SolCall et peut être utilisée pour appeler la méthode balanceOf, qui accepte une adresse de compte et renvoie le solde du jeton ERC-20 associé.
Prêt à appeler
Ensuite, configurez l'appel en instanciant la structure balanceOfCall avec l'adresse du compte cible. En même temps, définissez des constantes pour l'adresse du contrat que vous souhaitez interroger et l'adresse de l'appelant.
Exécuter l'appel dans Main
La fonction main est exécutée dans zkVM pour générer une preuve sans connaissance. Il lit d'abord l'environnement d'entrée, puis construit un objet ViewCallEnv, garantissant que l'état actuel correspond à la racine de l'état attendu. Après avoir soumis le hachage et le numéro de bloc pertinents, effectuez un appel de visualisation et imprimez le solde.
Steel prouve le code Solidity dans RISC Zero zkVM en trois étapes, simplifiant le processus d'exécution :
Avec la preuve de stockage traditionnelle, les développeurs doivent sélectionner manuellement les emplacements de stockage utilisés par leurs contrats intelligents et réimplémenter la logique du contrat intelligent. Avec Steel, tous les emplacements de stockage sont automatiquement découverts et récupérés en fonction des appels de visualisation. Cela fait gagner beaucoup de temps aux développeurs et réduit les risques d'erreurs de mise en œuvre, réduisant ainsi les risques de failles de sécurité.
Lors de la vérification à l'aide de l'opcode blockhash dans un contrat intelligent Ethereum, l'engagement vérifié doit faire référence à un hachage de bloc datant de moins de 256 blocs. Étant donné que le temps de blocage moyen est de 12 secondes, cela définit un délai étroit d'environ 50 minutes pour la génération d'une preuve complète et la confirmation que la transaction validée a été incluse dans un bloc.
Lorsqu'il est nécessaire d'obtenir un hachage de bloc vérifié sur la chaîne qui est plus ancien que 256 blocs, plusieurs stratégies peuvent être utilisées :
envisage un avenir où le calcul hors chaîne sera parfaitement intégré à la vérification en chaîne. Steel contribue à cette vision en permettant aux développeurs d'accéder et de calculer de manière fiable l'historique complet d'Ethereum au sein de zkVM, leur permettant ainsi de créer la prochaine génération d'applications en chaîne riches en données et plus puissantes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!