Maison  >  Article  >  Comment RISC Zero Steel accélère-t-il l’adoption du ZK par Ethereum ?

Comment RISC Zero Steel accélère-t-il l’adoption du ZK par Ethereum ?

王林
王林original
2024-06-08 17:03:32859parcourir

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 ?

Steel, connectant RISC Zero et Ethereum

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.

La commodité de Solidity, la puissance de ZK

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 :

  • Exécuter des contrats intelligents Solidity directement dans zkVM, compatibles avec une logique en chaîne plus complexe
  • Accéder à l'état historique d'Ethereum dans zkVM
  • Utiliser les continuations pour les calculs, indépendamment des blocs et des limites sur les données de transaction size
  • Garantir que les calculs hors chaîne sont aussi sûrs et fiables que l'exécution en chaîne
  • Utilisation du premier zkVM compétent en production qui a été rigoureusement testé et utilisé par plusieurs partenaires
  • Calcul privé de l'état Ethereum
  • Restez flexible avec un base de code open source et soyez indépendant du fournisseur

Intégration transparente et économies de coûts

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.

Exemple : ERC20 balanceOf

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é.

RISC Zero Steel 如何加速以太坊的 ZK 采用?

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.

RISC Zero Steel 如何加速以太坊的 ZK 采用?

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.

RISC Zero Steel 如何加速以太坊的 ZK 采用?

Comment ça marche

Steel prouve le code Solidity dans RISC Zero zkVM en trois étapes, simplifiant le processus d'exécution :

  1. Phase de pré-vol : démarrez le pré-vol en effectuant un appel de vue au nœud Ethereum RPC, les emplacements de stockage nécessaires sont mis en cache, remplissant la base de données EVM avec uniquement les données requises pour la requête. Tous les emplacements de stockage sont automatiquement découverts et récupérés en fonction des appels de visualisation.
  2. Vérification du stockage : effectuez une vérification de l'intégrité du stockage pour vous assurer que les données de la base de données EVM sont alignées avec la racine d'état de la blockchain afin de confirmer sa légitimité.
  3. Exécution Solidity : exécute la fonction Solidity donnée sur l'EVM dans RISC Zero zkVM.

En quoi est-ce différent de la preuve de stockage ?

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é.

Obtenez le hachage de bloc vérifié

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 :

  • Lorsque le hachage de bloc qui sera requis est connu à l'avance (par exemple, lors du lancement une proposition de gouvernance), le hachage de bloc peut être enregistré dans l'état du contrat.
  • Une autre approche consiste à utiliser RISC Zero pour prouver la chaîne de hachages du bloc interrogé à l'un des 256 blocs les plus récents.

L'avenir des applications en chaîne

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn