Présentation de l’acier

Intermédiaire5/27/2024, 5:05:26 AM
RISC Zero est l’un des principaux développeurs de zkVM et a récemment lancé Steel, une bibliothèque de test d’appel de vue basée sur Alloy. Cela entraîne une transformation significative dans la façon dont les développeurs interagissent avec Ethereum L1 ou d’autres chaînes EVM. En utilisant des preuves à divulgation nulle de connaissance et la zkVM RISC Zero, Steel permet aux développeurs d’effectuer des appels de vue et de lire et calculer de manière prouvée l’état d’Ethereum de manière évolutive, sécurisée et rentable.

Présentation de l’acier : un alliage trempé, reliant RISC Zero à Ethereum

Le succès d’Ethereum a conduit à un écosystème florissant d’applications décentralisées, mais les défis d’évolutivité sont devenus de plus en plus évidents. Les développeurs sont confrontés à un choix difficile : limiter les fonctionnalités et la richesse des données de leurs applications ou supporter le fardeau de frais de gaz excessifs ou de limites de gaz. Et s’il existait un moyen pour les développeurs de contourner ces limitations ?

Steel, la bibliothèque de preuve d’appel de vue basée sur Alloy de RISC Zero, représente un énorme changement dans la façon dont les développeurs interagissent avec les chaînes basées sur Ethereum L1 ou EVM. En exploitant la puissance des preuves à divulgation nulle de connaissance et de la zkVM RISC Zero, Steel permet aux développeurs d’exécuter des appels de vue et de lire et de calculer de manière prouvée l’état d’Ethereum de manière évolutive, sécurisée et économiquement efficace.

La commodité de Solidity, avec la puissance de ZK.

Steel comble le fossé entre le développement d’applications d’Ethereum et la technologie à connaissance zéro, ce qui permet aux développeurs d’exploiter plus facilement que jamais 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 ont la possibilité de :

  • Exécutez des contrats intelligents Solidity directement dans la zkVM pour une logique on-chain plus sophistiquée
  • Accédez à l’état historique d’Ethereum dans la zkVM
  • Calculez sans limitation de la taille des blocs et des transactions à l’aide de continuations
  • Assurez des calculs hors chaîne sécurisés et fiables, comme s’ils étaient exécutés sur la chaîne
  • Utilisez la première zkVM prête pour la production, rigoureusement testée et utilisée par divers partenaires
  • Calcul privé sur l’état d’Ethereum
  • Maintenez la flexibilité avec une base de code open source, sans dépendance vis-à-vis d’un fournisseur

Intégration transparente et économies de coûts

Avec Steel, l’exécution d’un appel de vue est aussi simple que de spécifier les méthodes Solidity souhaitées. Qu’il s’agisse de récupérer un solde de jetons ERC-20 (exemple) ou d’accéder à n’importe quel aspect de l’état d’Ethereum, Steel simplifie le processus tout en garantissant la sécurité et l’efficacité grâce à une intégration transparente avec RISC Zero zkVM. Nos tests ont montré la capacité de Steel à gérer plus de 100 000 opérations SLOAD en un seul appel, ce qui permet d’économiser des milliers de dollars en frais de gaz sur le réseau principal. Nous pouvons le prouver en 15 minutes environ en utilisant Bonsaï. Cela nécessiterait au moins 210 millions de gaz, dépassant de 7 fois la limite de blocage.

Exemple : ERC20 balanceOf

Dans les extraits de code ci-dessous, nous démontrons le processus de preuve de l’équilibre d’une adresse spécifique pour un contrat ERC-20 déployé sur Ethereum à l’aide de Steel. Cet exemple montre comment les développeurs peuvent utiliser Steel pour interagir avec les données Ethereum on-chain dans les limites d’une zkVM. Vous pouvez trouver le code complet ici.

Définition de la signature de la fonction de vue

Commencez par définir la signature de la fonction balance ERC-20 à l’aide de la fonction sol ! macro. Cela analysera la syntaxe Solidity pour générer une structure Rust correspondante, qui implémente le trait SolCall. Cette structure peut être utilisée pour appeler la méthode balanceOf, qui prend une adresse de compte et renvoie le solde de jetons ERC-20 associé.

Préparation de l’appel

Ensuite, configurez l’appel en instanciant la structure balanceOfCall avec l’adresse du compte cible. Définissez également des constantes pour l’adresse du contrat que vous souhaitez interroger et l’adresse de l’appelant.

Exécution de l’appel dans Main

La fonction principale est exécutée dans la zkVM, produisant une preuve à divulgation nulle de connaissance. Il commence par lire l’environnement d’entrée, puis construit un objet ViewCallEnv, en s’assurant que l’état actuel correspond à la racine de l’état attendu. Après avoir validé le hachage et le numéro de bloc appropriés, l’appel de vue est exécuté et le solde est imprimé.

Comment ça marche

Steel simplifie le processus de preuve de l’exécution du code Solidity dans la zkVM RISC Zero en trois étapes simples :

  1. Phase de contrôle en amont : Lancez un contrôle en amont en effectuant un appel de vue au nœud Ethereum RPC. Cela met en cache les emplacements de stockage nécessaires, remplissant la base de données EVM avec uniquement les données requises pour la requête. Tous les emplacements de stockage sont découverts et récupérés automatiquement en fonction de l’exécution de l’appel de vue.
  2. Vérification du stockage : effectuez un contrôle de l’intégrité du stockage, en vous assurant que les données de la base de données EVM s’alignent sur la racine de l’état de la blockchain, confirmant ainsi sa légitimité.
  3. Exécution Solidity : Exécutez la fonction Solidity donnée sur l’EVM, à l’intérieur de la zkVM RISC Zero.

En quoi cela diffère-t-il des épreuves de stockage ?

Avec les preuves de stockage traditionnelles, les développeurs doivent sélectionner manuellement les emplacements de stockage utilisés par leur contrat intelligent et réimplémenter la logique des contrats intelligents. Avec steel, tous les emplacements de stockage sont découverts et récupérés automatiquement en fonction de l’exécution de l’appel de vue. Cela permet aux développeurs de gagner beaucoup de temps et de réduire la marge d’erreur de mise en œuvre, réduisant ainsi les risques de failles de sécurité.

Obtention du hachage de bloc vérifié

Lors de l’utilisation de l’opcode blockhash pour la validation dans les contrats intelligents Ethereum, l’engagement de validation doit faire référence à un blockhash datant de moins de 256 blocs. Compte tenu d’un temps de bloc moyen 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 l’inclusion de la transaction de validation dans un bloc.

Lorsqu’un hachage de bloc vérifié de plus de 256 blocs est nécessaire sur la chaîne, un certain nombre de stratégies peuvent être utilisées :

  • Lorsque le hachage de bloc qui sera nécessaire est connu à l’avance (par exemple, lors du lancement d’une proposition de gouvernance), ce hachage de bloc peut être enregistré à l’état de contrat.
  • Une autre approche consiste à utiliser RISC Zero pour prouver la chaîne de hachage du bloc qui a été interrogé jusqu’à un bloc dans le 256 le plus récent.

L’avenir des applications on-chain

Nous envisageons un avenir où il y a une intégration transparente du calcul hors chaîne avec la validation sur la chaîne. Steel est notre contribution à la réalisation de cette vision, en permettant aux développeurs d’accéder et de calculer de manière prouvée sur l’historique complet d’Ethereum à l’intérieur de la zkVM pour créer la prochaine vague d’applications on-chain riches en données et plus fonctionnelles.

Premiers pas avec Steel

L’acier est un élément clé de l’engagement de RISC Zero à lancer zkVM 1.0, une étape importante vers la vérification des preuves on-chain bon marché et sécurisée et des preuves universelles à divulgation nulle de connaissance. Commencez à utiliser Steel dès aujourd’hui en visitant notre référentiel GitHub pour obtenir de la documentation, des exemples de code et des ressources pour vous aider à intégrer Steel dans votre projet.

Démenti:

  1. Cet article est reproduit de [riscze]. Tous les droits d’auteur appartiennent à l’auteur original [Santiago Campos]. S’il y a des objections à cette réimpression, veuillez contacter l’équipe Gate Learn , et ils s’en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent aucun conseil en investissement.
  3. Les traductions de l’article dans d’autres langues sont effectuées par l’équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.

Présentation de l’acier

Intermédiaire5/27/2024, 5:05:26 AM
RISC Zero est l’un des principaux développeurs de zkVM et a récemment lancé Steel, une bibliothèque de test d’appel de vue basée sur Alloy. Cela entraîne une transformation significative dans la façon dont les développeurs interagissent avec Ethereum L1 ou d’autres chaînes EVM. En utilisant des preuves à divulgation nulle de connaissance et la zkVM RISC Zero, Steel permet aux développeurs d’effectuer des appels de vue et de lire et calculer de manière prouvée l’état d’Ethereum de manière évolutive, sécurisée et rentable.

Présentation de l’acier : un alliage trempé, reliant RISC Zero à Ethereum

Le succès d’Ethereum a conduit à un écosystème florissant d’applications décentralisées, mais les défis d’évolutivité sont devenus de plus en plus évidents. Les développeurs sont confrontés à un choix difficile : limiter les fonctionnalités et la richesse des données de leurs applications ou supporter le fardeau de frais de gaz excessifs ou de limites de gaz. Et s’il existait un moyen pour les développeurs de contourner ces limitations ?

Steel, la bibliothèque de preuve d’appel de vue basée sur Alloy de RISC Zero, représente un énorme changement dans la façon dont les développeurs interagissent avec les chaînes basées sur Ethereum L1 ou EVM. En exploitant la puissance des preuves à divulgation nulle de connaissance et de la zkVM RISC Zero, Steel permet aux développeurs d’exécuter des appels de vue et de lire et de calculer de manière prouvée l’état d’Ethereum de manière évolutive, sécurisée et économiquement efficace.

La commodité de Solidity, avec la puissance de ZK.

Steel comble le fossé entre le développement d’applications d’Ethereum et la technologie à connaissance zéro, ce qui permet aux développeurs d’exploiter plus facilement que jamais 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 ont la possibilité de :

  • Exécutez des contrats intelligents Solidity directement dans la zkVM pour une logique on-chain plus sophistiquée
  • Accédez à l’état historique d’Ethereum dans la zkVM
  • Calculez sans limitation de la taille des blocs et des transactions à l’aide de continuations
  • Assurez des calculs hors chaîne sécurisés et fiables, comme s’ils étaient exécutés sur la chaîne
  • Utilisez la première zkVM prête pour la production, rigoureusement testée et utilisée par divers partenaires
  • Calcul privé sur l’état d’Ethereum
  • Maintenez la flexibilité avec une base de code open source, sans dépendance vis-à-vis d’un fournisseur

Intégration transparente et économies de coûts

Avec Steel, l’exécution d’un appel de vue est aussi simple que de spécifier les méthodes Solidity souhaitées. Qu’il s’agisse de récupérer un solde de jetons ERC-20 (exemple) ou d’accéder à n’importe quel aspect de l’état d’Ethereum, Steel simplifie le processus tout en garantissant la sécurité et l’efficacité grâce à une intégration transparente avec RISC Zero zkVM. Nos tests ont montré la capacité de Steel à gérer plus de 100 000 opérations SLOAD en un seul appel, ce qui permet d’économiser des milliers de dollars en frais de gaz sur le réseau principal. Nous pouvons le prouver en 15 minutes environ en utilisant Bonsaï. Cela nécessiterait au moins 210 millions de gaz, dépassant de 7 fois la limite de blocage.

Exemple : ERC20 balanceOf

Dans les extraits de code ci-dessous, nous démontrons le processus de preuve de l’équilibre d’une adresse spécifique pour un contrat ERC-20 déployé sur Ethereum à l’aide de Steel. Cet exemple montre comment les développeurs peuvent utiliser Steel pour interagir avec les données Ethereum on-chain dans les limites d’une zkVM. Vous pouvez trouver le code complet ici.

Définition de la signature de la fonction de vue

Commencez par définir la signature de la fonction balance ERC-20 à l’aide de la fonction sol ! macro. Cela analysera la syntaxe Solidity pour générer une structure Rust correspondante, qui implémente le trait SolCall. Cette structure peut être utilisée pour appeler la méthode balanceOf, qui prend une adresse de compte et renvoie le solde de jetons ERC-20 associé.

Préparation de l’appel

Ensuite, configurez l’appel en instanciant la structure balanceOfCall avec l’adresse du compte cible. Définissez également des constantes pour l’adresse du contrat que vous souhaitez interroger et l’adresse de l’appelant.

Exécution de l’appel dans Main

La fonction principale est exécutée dans la zkVM, produisant une preuve à divulgation nulle de connaissance. Il commence par lire l’environnement d’entrée, puis construit un objet ViewCallEnv, en s’assurant que l’état actuel correspond à la racine de l’état attendu. Après avoir validé le hachage et le numéro de bloc appropriés, l’appel de vue est exécuté et le solde est imprimé.

Comment ça marche

Steel simplifie le processus de preuve de l’exécution du code Solidity dans la zkVM RISC Zero en trois étapes simples :

  1. Phase de contrôle en amont : Lancez un contrôle en amont en effectuant un appel de vue au nœud Ethereum RPC. Cela met en cache les emplacements de stockage nécessaires, remplissant la base de données EVM avec uniquement les données requises pour la requête. Tous les emplacements de stockage sont découverts et récupérés automatiquement en fonction de l’exécution de l’appel de vue.
  2. Vérification du stockage : effectuez un contrôle de l’intégrité du stockage, en vous assurant que les données de la base de données EVM s’alignent sur la racine de l’état de la blockchain, confirmant ainsi sa légitimité.
  3. Exécution Solidity : Exécutez la fonction Solidity donnée sur l’EVM, à l’intérieur de la zkVM RISC Zero.

En quoi cela diffère-t-il des épreuves de stockage ?

Avec les preuves de stockage traditionnelles, les développeurs doivent sélectionner manuellement les emplacements de stockage utilisés par leur contrat intelligent et réimplémenter la logique des contrats intelligents. Avec steel, tous les emplacements de stockage sont découverts et récupérés automatiquement en fonction de l’exécution de l’appel de vue. Cela permet aux développeurs de gagner beaucoup de temps et de réduire la marge d’erreur de mise en œuvre, réduisant ainsi les risques de failles de sécurité.

Obtention du hachage de bloc vérifié

Lors de l’utilisation de l’opcode blockhash pour la validation dans les contrats intelligents Ethereum, l’engagement de validation doit faire référence à un blockhash datant de moins de 256 blocs. Compte tenu d’un temps de bloc moyen 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 l’inclusion de la transaction de validation dans un bloc.

Lorsqu’un hachage de bloc vérifié de plus de 256 blocs est nécessaire sur la chaîne, un certain nombre de stratégies peuvent être utilisées :

  • Lorsque le hachage de bloc qui sera nécessaire est connu à l’avance (par exemple, lors du lancement d’une proposition de gouvernance), ce hachage de bloc peut être enregistré à l’état de contrat.
  • Une autre approche consiste à utiliser RISC Zero pour prouver la chaîne de hachage du bloc qui a été interrogé jusqu’à un bloc dans le 256 le plus récent.

L’avenir des applications on-chain

Nous envisageons un avenir où il y a une intégration transparente du calcul hors chaîne avec la validation sur la chaîne. Steel est notre contribution à la réalisation de cette vision, en permettant aux développeurs d’accéder et de calculer de manière prouvée sur l’historique complet d’Ethereum à l’intérieur de la zkVM pour créer la prochaine vague d’applications on-chain riches en données et plus fonctionnelles.

Premiers pas avec Steel

L’acier est un élément clé de l’engagement de RISC Zero à lancer zkVM 1.0, une étape importante vers la vérification des preuves on-chain bon marché et sécurisée et des preuves universelles à divulgation nulle de connaissance. Commencez à utiliser Steel dès aujourd’hui en visitant notre référentiel GitHub pour obtenir de la documentation, des exemples de code et des ressources pour vous aider à intégrer Steel dans votre projet.

Démenti:

  1. Cet article est reproduit de [riscze]. Tous les droits d’auteur appartiennent à l’auteur original [Santiago Campos]. S’il y a des objections à cette réimpression, veuillez contacter l’équipe Gate Learn , et ils s’en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent aucun conseil en investissement.
  3. Les traductions de l’article dans d’autres langues sont effectuées par l’équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!