Qu'est-ce que zkEVM ? Importance de zkEVM pour Ethereum Scaling 2022

Qu'est-ce que zkEVM ? Importance de zkEVM pour la mise à l'échelle d'Ethereum

L'ordinateur du monde. La machine est imparable. Le cœur d'Ethereum. La machine virtuelle Ethereum (EVM) porte de nombreux noms qui soulignent son importance pour le réseau Ethereum. C'est la fonctionnalité principale qui en fait non seulement un « grand livre distribué » comme Bitcoin, mais également une « machine à états distribuée ». EVM permet aux développeurs de créer des contrats intelligents à l'aide d'un langage de programmation appelé Solidity. Une application courante des contrats intelligents consiste à gérer la génération et l’échange de jetons. De nombreuses applications et protocoles utilisent des jetons pour récompenser les utilisateurs pour les actions importantes pour leur objectif. Sans EVM, cela ne serait pas possible, c'est pourquoi la machine virtuelle EVM, une technologie qui a rendu Ethereum célèbre, permet d'exécuter des contrats intelligents sur le réseau Ethereum. Qu'en est-il de zkEVM ? est-ce aussi important que la machine virtuelle EVM ?

Qu'est-ce que zkEVM ?

zkEVM (zero-knowledge Ethereum Virtual Machine) est une machine virtuelle qui prend en charge les preuves sans connaissance ou ZKP pour vérifier l'exactitude de l'exécution des programmes, y compris la validité des entrées et des sorties du programme.

En termes simples, zkEVM est conçu pour exécuter des contrats intelligents prenant en charge la technologie zéro connaissance (zk).

L'importance de zkEVM

Tout d'abord, passons en revue l'importance de la technologie zk. ZKP (preuves à connaissance nulle) est un moyen de prouver qu'un état est vrai sans avoir à révéler d'autres informations afin que les utilisateurs préservent la confidentialité telle que les informations personnelles, les secrets d'affaires, les données exclusives… Surtout dans l'espace Web3, la confidentialité est indispensable. Par exemple, grâce à zk, vous pouvez utiliser le Web sans vous faire voler vos informations personnelles, ou utiliser des données propriétaires comme entrée pour activer des contrats intelligents.

zkEVM exploite les ressources d'Ethereum, en tirant parti de l'évolutivité, de la validité, du faible coût, de l'efficacité du capital de la technologie zk-Rollup et des capacités de confidentialité de la technologie zk :

  • Avec la couche 2, zk-Rollup ne pouvait pas initialement exécuter de contrats intelligents, mais uniquement capable d'exécuter de simples échanges ou paiements. Cependant, avec l'avènement de zkEVM, zk-Rollup prend en charge les contrats intelligents et permet aux développeurs de développer facilement des dApps avec le langage familier Solidity.
  • Avec la couche 1 utilisant la technologie zk comme Mina, zkEVM rend la preuve d'état directement prouvable sur Ethereum, ouvrant ainsi un pont entre Mina et la technologie zk et Ethereum.

zkEVM est-il un facteur déterminant dans le développement de la technologie zk ? La réponse est non. Par exemple, certains projets non-EVM comme StarkNet utilisent Warp pour compiler le langage Solidity vers Cairo ou Polygon Miden utilise la machine virtuelle MidenVM.

Alors pourquoi zkEVM et pas une autre machine virtuelle ? Comme mentionné ci-dessus, c'est zkEVM qui permet d'exploiter les ressources d'Ethereum telles que :

  • Outils familiers aux développeurs comme Truffle, Hardhat et Foundry
  • Bonnes pratiques de sécurité établies
  • Déployer des contrats intelligents modulaires existants via OpenZeppelin
  • De nombreux cabinets d’audit ont une expertise en EVM
  • La plus grande communauté de développeurs Web3
  • Les utilisateurs sont familiers avec les utilitaires blockchain basés sur EVM tels qu'Etherscan, le portefeuille métamasque, etc.

zkEVM alimente la solution de mise à l'échelle Ethereum. Comme nous le savons, zk-Rollup est considéré comme la solution de mise à l'échelle à moyen et long terme d'Ethereum avec de nombreux avantages tels que l'évolutivité jusqu'à 2000 TPS (4x Optimistic-Rollup), une preuve de validation, des frais peu élevés, un capital efficace (cela ne prend que ~10 minutes pour retirer de l'argent vers L1 alors qu'Optimistic dure 1 semaine). zkEVM élève la solution de mise à l'échelle zk-Rollup grâce à la compatibilité EVM, permettant aux développeurs d'exploiter facilement les ressources d'Ethereum.

Comment fonctionne zkEVM

Pour comprendre le fonctionnement de zkEVM, examinons d'abord le fonctionnement d'EVM aujourd'hui.

Comment fonctionne la machine virtuelle EVM

Les machines virtuelles fonctionnent de la même manière que les machines physiques avec le stockage, la mémoire et le processeur, mais elles fonctionnent entièrement sous forme de code.

  • Le bytecode du contrat (compilé à partir du code source) est chargé à partir du stockage de l'EVM et exécuté par les nœuds homologues sur l'EVM. Les nœuds utilisent les mêmes entrées, ce qui garantit que chaque nœud arrive au même résultat (sinon ils ne peuvent pas parvenir à un consensus).
  • Les opcodes EVM (inclus dans le bytecode) effectuent des opérations de lecture-écriture, c'est-à-dire lire les valeurs du stockage d'état et écrire de nouvelles valeurs dans la mémoire de l'EVM.
  • Les opcodes EVM effectuent des calculs de valeurs obtenues à partir du stockage d'état avant de renvoyer de nouvelles valeurs. Cette mise à jour entraîne la transition de l'EVM vers le nouvel état (les transactions sont appelées « transitions d'état » pour cette raison). Ce nouvel état est copié par d'autres nœuds et conservé jusqu'à ce qu'une autre transaction soit validée.

Comment fonctionne zkEVM

Comme l'EVM, zkEVM est une machine virtuelle qui passe d'un état à l'autre après l'exécution du programme. Mais zkEVM va encore plus loin en générant des preuves de connaissance nulle (ZKP) qui vérifient les différents facteurs dans chaque calcul :

  1. Accès au bytecode : le code de programme approprié est-il chargé correctement, à partir de la bonne adresse ?

2. Opérations de lecture et d'écriture :

  • Le programme récupère-t-il les valeurs correspondantes de la pile/mémoire/stockage (pile/mémoire/stockage) avant de calculer ?
  • Le programme écrit-il les valeurs de sortie correctes dans la pile/mémoire/stockage (pile/mémoire/stockage) une fois l'exécution terminée ?

3. Calcul : les opcodes sont-ils exécutés correctement ?

ArchitecturezkEVM

ZkEVM est divisé en trois parties : un environnement d'exécution, un circuit de preuve et un contrat de vérificateur. Chaque composant contribue à l'exécution du programme, à la génération et à la vérification des preuves de zkEVM.

Environnement d'exécution

L'environnement d'exécution est l'endroit où les programmes (contrats intelligents) sont exécutés dans zkEVM. L'environnement d'exécution de zkEVM fonctionne comme un EVM : il prend l'état initial et la transaction en cours pour créer un nouvel état (c'est-à-dire final).

Preuve de circuit

Le circuit de preuve génère des preuves à connaissance nulle (ZKP) qui vérifient la validité des transactions calculées dans l'environnement d'exécution.

La génération de preuves est complétée à l'aide de données d'entrée constituées de (1) informations préalables à l'état, (2) entrées de transaction et (3) informations post-état.

Le vérificateur obtient alors une brève preuve de la validité de cette transition d'état particulière.

Contrat de vérificateur

Les ZK-rollups soumettent une preuve valide d'un contrat intelligent déployé sur la chaîne L1 (Ethereum) pour vérification.

Les entrées (état précédent et informations sur la transaction) et les sorties (état final) sont également soumises au contrat du vérificateur.

Le vérificateur exécute ensuite des calculs sur la preuve fournie et confirme que les résultats soumis ont été correctement calculés à partir des entrées.

Que sont les opcodes zkEVM ?

Les opcodes zkEVM sont des instructions machine de bas niveau utilisées pour exécuter des programmes dans un zk-Rollup compatible EVM.

Nous avons besoin des opcodes zkEVM car les opcodes EVM conventionnels ne sont pas efficaces pour une utilisation dans des circuits à preuve de connaissance nulle. En général, il existe deux approches pour générer des opcodes zkEVM :

Création de circuits ZK pour les opcodes EVM d'origine

Cette approche rend zkEVM compatible au niveau du bytecode équivalent à EVM. Cela signifie que les développeurs peuvent créer des contrats intelligents à l'aide d'un outil de développement blockchain existant ou migrer les contrats Ethereum existants vers des rollups ZK sans trop de modifications. Cependant, il s’agit d’une démarche technique assez complexe et longue.

Créer un nouveau langage pour le calcul de la preuve ZK

Cette approche nécessitait la création d'un nouveau langage — conçu pour prendre en charge les validateurs — et le développement d'opcodes personnalisés. Les développeurs devront soit rédiger des contrats directement dans le nouveau langage, soit compiler le code source Solidity dans des opcodes zkEVM personnalisés.

Bien que cette méthode soit souvent plus simple à mettre en œuvre que la première approche, elle présente des limites. Par exemple, les développeurs peuvent ne pas être en mesure d’accéder à l’infrastructure et aux ressources Ethereum existantes.

Verdict

zkEVM est l'un des facteurs les plus importants qui aident les développeurs à créer/intégrer leurs dApps sur la plate-forme technologique zk en utilisant le langage de solidité familier.

Surtout avec zk-Rollup, zkEVM aide les développeurs à tirer pleinement parti des ressources d'Ethereum, en profitant de l'évolutivité, de la validité, du faible coût et de l'efficacité du capital de la technologie zk-Rollup et de la capacité de charge. Retour à la confidentialité de la technologie zk. Si les efforts visant à créer zkEVM réussissent, l’écosystème Ethereum continuera certainement à conserver un avantage concurrentiel par rapport aux autres L1 alternatifs.

L'espace zkEVM est susceptible de se réchauffer dans les mois à venir à mesure que zkSync se dirige vers le réseau principal, Scroll, Polygon zkEVM exécute testnet.

AVIS DE NON-RESPONSABILITÉ : Les informations sur ce site Web sont fournies à titre de commentaire général du marché et ne constituent pas un conseil en investissement. Nous vous encourageons à faire vos propres recherches avant d'investir.

Rejoignez CoinCu Telegram pour suivre l'actualité : https://t.me/coincunews

Suivez la chaîne Youtube CoinCu | Suivez la page Facebook de CoinCu

Lucian

Nouvelles CoinCu

Qu'est-ce que zkEVM ? Importance de zkEVM pour Ethereum Scaling 2022

Qu'est-ce que zkEVM ? Importance de zkEVM pour la mise à l'échelle d'Ethereum

L'ordinateur du monde. La machine est imparable. Le cœur d'Ethereum. La machine virtuelle Ethereum (EVM) porte de nombreux noms qui soulignent son importance pour le réseau Ethereum. C'est la fonctionnalité principale qui en fait non seulement un « grand livre distribué » comme Bitcoin, mais également une « machine à états distribuée ». EVM permet aux développeurs de créer des contrats intelligents à l'aide d'un langage de programmation appelé Solidity. Une application courante des contrats intelligents consiste à gérer la génération et l’échange de jetons. De nombreuses applications et protocoles utilisent des jetons pour récompenser les utilisateurs pour les actions importantes pour leur objectif. Sans EVM, cela ne serait pas possible, c'est pourquoi la machine virtuelle EVM, une technologie qui a rendu Ethereum célèbre, permet d'exécuter des contrats intelligents sur le réseau Ethereum. Qu'en est-il de zkEVM ? est-ce aussi important que la machine virtuelle EVM ?

Qu'est-ce que zkEVM ?

zkEVM (zero-knowledge Ethereum Virtual Machine) est une machine virtuelle qui prend en charge les preuves sans connaissance ou ZKP pour vérifier l'exactitude de l'exécution des programmes, y compris la validité des entrées et des sorties du programme.

En termes simples, zkEVM est conçu pour exécuter des contrats intelligents prenant en charge la technologie zéro connaissance (zk).

L'importance de zkEVM

Tout d'abord, passons en revue l'importance de la technologie zk. ZKP (preuves à connaissance nulle) est un moyen de prouver qu'un état est vrai sans avoir à révéler d'autres informations afin que les utilisateurs préservent la confidentialité telle que les informations personnelles, les secrets d'affaires, les données exclusives… Surtout dans l'espace Web3, la confidentialité est indispensable. Par exemple, grâce à zk, vous pouvez utiliser le Web sans vous faire voler vos informations personnelles, ou utiliser des données propriétaires comme entrée pour activer des contrats intelligents.

zkEVM exploite les ressources d'Ethereum, en tirant parti de l'évolutivité, de la validité, du faible coût, de l'efficacité du capital de la technologie zk-Rollup et des capacités de confidentialité de la technologie zk :

  • Avec la couche 2, zk-Rollup ne pouvait pas initialement exécuter de contrats intelligents, mais uniquement capable d'exécuter de simples échanges ou paiements. Cependant, avec l'avènement de zkEVM, zk-Rollup prend en charge les contrats intelligents et permet aux développeurs de développer facilement des dApps avec le langage familier Solidity.
  • Avec la couche 1 utilisant la technologie zk comme Mina, zkEVM rend la preuve d'état directement prouvable sur Ethereum, ouvrant ainsi un pont entre Mina et la technologie zk et Ethereum.

zkEVM est-il un facteur déterminant dans le développement de la technologie zk ? La réponse est non. Par exemple, certains projets non-EVM comme StarkNet utilisent Warp pour compiler le langage Solidity vers Cairo ou Polygon Miden utilise la machine virtuelle MidenVM.

Alors pourquoi zkEVM et pas une autre machine virtuelle ? Comme mentionné ci-dessus, c'est zkEVM qui permet d'exploiter les ressources d'Ethereum telles que :

  • Outils familiers aux développeurs comme Truffle, Hardhat et Foundry
  • Bonnes pratiques de sécurité établies
  • Déployer des contrats intelligents modulaires existants via OpenZeppelin
  • De nombreux cabinets d’audit ont une expertise en EVM
  • La plus grande communauté de développeurs Web3
  • Les utilisateurs sont familiers avec les utilitaires blockchain basés sur EVM tels qu'Etherscan, le portefeuille métamasque, etc.

zkEVM alimente la solution de mise à l'échelle Ethereum. Comme nous le savons, zk-Rollup est considéré comme la solution de mise à l'échelle à moyen et long terme d'Ethereum avec de nombreux avantages tels que l'évolutivité jusqu'à 2000 TPS (4x Optimistic-Rollup), une preuve de validation, des frais peu élevés, un capital efficace (cela ne prend que ~10 minutes pour retirer de l'argent vers L1 alors qu'Optimistic dure 1 semaine). zkEVM élève la solution de mise à l'échelle zk-Rollup grâce à la compatibilité EVM, permettant aux développeurs d'exploiter facilement les ressources d'Ethereum.

Comment fonctionne zkEVM

Pour comprendre le fonctionnement de zkEVM, examinons d'abord le fonctionnement d'EVM aujourd'hui.

Comment fonctionne la machine virtuelle EVM

Les machines virtuelles fonctionnent de la même manière que les machines physiques avec le stockage, la mémoire et le processeur, mais elles fonctionnent entièrement sous forme de code.

  • Le bytecode du contrat (compilé à partir du code source) est chargé à partir du stockage de l'EVM et exécuté par les nœuds homologues sur l'EVM. Les nœuds utilisent les mêmes entrées, ce qui garantit que chaque nœud arrive au même résultat (sinon ils ne peuvent pas parvenir à un consensus).
  • Les opcodes EVM (inclus dans le bytecode) effectuent des opérations de lecture-écriture, c'est-à-dire lire les valeurs du stockage d'état et écrire de nouvelles valeurs dans la mémoire de l'EVM.
  • Les opcodes EVM effectuent des calculs de valeurs obtenues à partir du stockage d'état avant de renvoyer de nouvelles valeurs. Cette mise à jour entraîne la transition de l'EVM vers le nouvel état (les transactions sont appelées « transitions d'état » pour cette raison). Ce nouvel état est copié par d'autres nœuds et conservé jusqu'à ce qu'une autre transaction soit validée.

Comment fonctionne zkEVM

Comme l'EVM, zkEVM est une machine virtuelle qui passe d'un état à l'autre après l'exécution du programme. Mais zkEVM va encore plus loin en générant des preuves de connaissance nulle (ZKP) qui vérifient les différents facteurs dans chaque calcul :

  1. Accès au bytecode : le code de programme approprié est-il chargé correctement, à partir de la bonne adresse ?

2. Opérations de lecture et d'écriture :

  • Le programme récupère-t-il les valeurs correspondantes de la pile/mémoire/stockage (pile/mémoire/stockage) avant de calculer ?
  • Le programme écrit-il les valeurs de sortie correctes dans la pile/mémoire/stockage (pile/mémoire/stockage) une fois l'exécution terminée ?

3. Calcul : les opcodes sont-ils exécutés correctement ?

ArchitecturezkEVM

ZkEVM est divisé en trois parties : un environnement d'exécution, un circuit de preuve et un contrat de vérificateur. Chaque composant contribue à l'exécution du programme, à la génération et à la vérification des preuves de zkEVM.

Environnement d'exécution

L'environnement d'exécution est l'endroit où les programmes (contrats intelligents) sont exécutés dans zkEVM. L'environnement d'exécution de zkEVM fonctionne comme un EVM : il prend l'état initial et la transaction en cours pour créer un nouvel état (c'est-à-dire final).

Preuve de circuit

Le circuit de preuve génère des preuves à connaissance nulle (ZKP) qui vérifient la validité des transactions calculées dans l'environnement d'exécution.

La génération de preuves est complétée à l'aide de données d'entrée constituées de (1) informations préalables à l'état, (2) entrées de transaction et (3) informations post-état.

Le vérificateur obtient alors une brève preuve de la validité de cette transition d'état particulière.

Contrat de vérificateur

Les ZK-rollups soumettent une preuve valide d'un contrat intelligent déployé sur la chaîne L1 (Ethereum) pour vérification.

Les entrées (état précédent et informations sur la transaction) et les sorties (état final) sont également soumises au contrat du vérificateur.

Le vérificateur exécute ensuite des calculs sur la preuve fournie et confirme que les résultats soumis ont été correctement calculés à partir des entrées.

Que sont les opcodes zkEVM ?

Les opcodes zkEVM sont des instructions machine de bas niveau utilisées pour exécuter des programmes dans un zk-Rollup compatible EVM.

Nous avons besoin des opcodes zkEVM car les opcodes EVM conventionnels ne sont pas efficaces pour une utilisation dans des circuits à preuve de connaissance nulle. En général, il existe deux approches pour générer des opcodes zkEVM :

Création de circuits ZK pour les opcodes EVM d'origine

Cette approche rend zkEVM compatible au niveau du bytecode équivalent à EVM. Cela signifie que les développeurs peuvent créer des contrats intelligents à l'aide d'un outil de développement blockchain existant ou migrer les contrats Ethereum existants vers des rollups ZK sans trop de modifications. Cependant, il s’agit d’une démarche technique assez complexe et longue.

Créer un nouveau langage pour le calcul de la preuve ZK

Cette approche nécessitait la création d'un nouveau langage — conçu pour prendre en charge les validateurs — et le développement d'opcodes personnalisés. Les développeurs devront soit rédiger des contrats directement dans le nouveau langage, soit compiler le code source Solidity dans des opcodes zkEVM personnalisés.

Bien que cette méthode soit souvent plus simple à mettre en œuvre que la première approche, elle présente des limites. Par exemple, les développeurs peuvent ne pas être en mesure d’accéder à l’infrastructure et aux ressources Ethereum existantes.

Verdict

zkEVM est l'un des facteurs les plus importants qui aident les développeurs à créer/intégrer leurs dApps sur la plate-forme technologique zk en utilisant le langage de solidité familier.

Surtout avec zk-Rollup, zkEVM aide les développeurs à tirer pleinement parti des ressources d'Ethereum, en profitant de l'évolutivité, de la validité, du faible coût et de l'efficacité du capital de la technologie zk-Rollup et de la capacité de charge. Retour à la confidentialité de la technologie zk. Si les efforts visant à créer zkEVM réussissent, l’écosystème Ethereum continuera certainement à conserver un avantage concurrentiel par rapport aux autres L1 alternatifs.

L'espace zkEVM est susceptible de se réchauffer dans les mois à venir à mesure que zkSync se dirige vers le réseau principal, Scroll, Polygon zkEVM exécute testnet.

AVIS DE NON-RESPONSABILITÉ : Les informations sur ce site Web sont fournies à titre de commentaire général du marché et ne constituent pas un conseil en investissement. Nous vous encourageons à faire vos propres recherches avant d'investir.

Rejoignez CoinCu Telegram pour suivre l'actualité : https://t.me/coincunews

Suivez la chaîne Youtube CoinCu | Suivez la page Facebook de CoinCu

Lucian

Nouvelles CoinCu

Visité 87 fois, 2 visite(s) aujourd'hui