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

Compilateur : Alex Liu, Foresight News

Ethereum a réussi à apporter un écosystème d’applications de décentralisation florissant, mais ses défis d’évolutivité augmentent également. Les développeurs sont confrontés à un choix difficile : limiter les fonctionnalités et la richesse des données de leurs applications, ou supporter des frais de gas et des limites d’utilisation de gas élevés. Et si les développeurs avaient un moyen de contourner ces limitations ?

Steel, reliant RISC Zero et Ethereum

RISC Zero est l’un des principaux développeurs de zkVM, et si vous avez entendu parler de zkEVM dans vos oreilles mais que vous ne savez pas ce qu’est un zkVM mot à mot, vous pouvez vous référer à cet article. La dernière version de RISC Zero est Steel, une bibliothèque de preuve d’appel basée sur Alloy qui révolutionne la façon dont les développeurs interagissent avec Ethereum L1 ou d’autres chaînes EVM. En tirant parti des zk-SNARKs et de RISC Zero zkVM, Steel permet aux développeurs d’effectuer des appels de vue de manière évolutive, sécurisée et rentable et de lire et calculer de manière prouvée l’état d’Ethereum.

La commodité de Solidity, la puissance de ZK

Steel comble le fossé entre le développement d’applications Ethereum et la technologie zero-knowledge, ce qui permet aux développeurs d’exploiter plus facilement la puissance de ZK dans leur smart contracts. 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 tout équivalent EVM on-chain.

Avec Steel, les développeurs peuvent :

  • Exécuter des smart contracts Solidity directement dans zkVM, compatible avec une logique on-chain plus complexe
  • Accéder à l’état historique d’Ethereum dans zkVM
  • Les calculs sont effectués à l’aide de continuations, quelle que soit la taille des données de bloc et de transaction
  • S’assurer que les calculs off-chain sont aussi sécurisés et fiables qu’ils sont exécutés on-chain
  • Tirez parti de la première zkVM prête pour la production qui a été rigoureusement testée et utilisée par des partenaires de longue date
  • Calcul privé de l’état Ethereum
  • Maintenir la flexibilité avec une base de code Open Source indépendante du fournisseur

Intégration transparente et réduction des coûts

Avec Steel, l’exécution d’un appel de vue est aussi simple que de spécifier la méthode Solidity souhaitée. Qu’il s’agisse de tout récupérer, des soldes de ERC-20 Jeton (exemples) à l’accès à Ethereum état, Steel rationalise le processus tout en garantissant la sécurité et l’efficacité en s’intégrant de manière transparente à RISC Zero zkVM. Les tests ont montré que Steel a la capacité de gérer plus de 100 000 opérations SLOAD en un seul appel, ce qui permet d’économiser k dollars en frais de gaz sur le mainnet. Nous pouvons le prouver en environ 15 minutes en utilisant Bonsai, qui nécessite au moins 210M de gas, soit 7 fois plus que la limite de bloc.

Exemple : ERC20 balanceOf

L’extrait de code suivant illustre le processus de preuve du solde d’un contrat ERC-20 déployé sur Ethereum à une adresse spécifique à l’aide de Steel. Cet exemple montre comment un développeur peut tirer parti de Steel pour interagir avec Ethereum off-chain données au sein d’une machine virtuelle zk. Le code complet peut être consulté ici.

Définir la signature de la fonction d’affichage

Tout d’abord, utilisez sol ! macro pour définir la signature de fonction balanceOf pour ERC-20. Cela analysera la syntaxe Solidity pour générer la structure Rust correspondante qui implémente le trait SolCall et peut être utilisée pour appeler la méthode balanceOf, qui accepte un compte Adresse et renvoie le solde ERC-20 Jeton associé.

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

Prêt à appeler

Ensuite, configurez l’appel en instanciant la structure balanceOfCall avec le compte Adresse cible. Dans le même temps, définissez des constantes pour l’adresse de contrat que vous souhaitez interroger et l’adresse de l’appelant.

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

Passer un appel dans le principal

La fonction principale est exécutée dans zkVM, générant des zk-SNARKs. Il lit d’abord l’environnement d’entrée, puis construit un objet ViewCallEnv pour s’assurer que l’état actuel correspond à la racine d’état attendue. Une fois que le Bloc hash et le numéro pertinents sont soumis, un appel de vue est effectué et le solde est imprimé.

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

Comment ça marche ?

Steel simplifie l’exécution en prouvant le code Solidity dans RISC Zero zkVM en trois étapes :

  1. Phase de contrôle en amont : le lancement d’un contrôle en amont en effectuant un appel de vue au Ethereum RPC Nœud met en cache les emplacements de stockage nécessaires et remplit la base de données EVM avec uniquement les données requises pour la requête. Tous les emplacements sont automatiquement découverts et récupérés en fonction des appels de vue.
  2. Validation 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. Solidity Execution : Exécutez une fonction Solidity donnée sur l’EVM à l’intérieur du 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 leur smart contracts et réimplémenter la logique smart contracts. Avec Steel, tous les emplacements de stockage sont automatiquement découverts et récupérés en fonction des appels de vue. Cela permet aux développeurs de gagner beaucoup de temps et de réduire la probabilité d’erreurs d’implémentation, ce qui réduit les risques de failles de sécurité.

Obtenir un Bloc hash vérifié

Lors de la validation à l’aide d’un Code d'opération de hachage de bloc dans un Ethereum smart contracts, l’engagement validé ne doit pas faire référence à plus de 256 Bloc ancien Bloc hash. Étant donné que le temps de bloc moyen est de 12 secondes, cela définit un délai étroit d’environ 50 minutes pour terminer la génération de la preuve et confirmer que la transaction de vérification est incluse dans un bloc.

Lorsque vous avez besoin d’obtenir un Bloc hash vérifié datant de plus de 256 Bloc dans off-chain, vous pouvez utiliser l’une des stratégies suivantes :

  • Lorsque vous savez à l’avance quelles Bloc hash seront nécessaires (par exemple, lors du lancement d’une proposition de gouvernance), vous pouvez enregistrer cette Bloc hash à l’état du contrat.
  • Une autre approche consiste à utiliser RISC Zero pour prouver la chaîne de hash entre le Bloc de la requête et l’un des 256 derniers Bloc Bloc.

L’avenir des applications off-chain

Imaginez un avenir où le calcul off-chain sera intégré de manière transparente à la vérification on-chain. Steel contribue à cette vision en permettant aux développeurs d’accéder et de calculer de manière fiable l’historique complet d’Ethereum dans zkVM, permettant ainsi la création de la prochaine génération d’applications off-chain riches en données et plus puissantes.

Voir l'original
  • Récompense
  • Commentaire
  • Partager
Commentaire
Aucun commentaire