ZK Rollup, en tant que moyen de faire évoluer Ethereum, permet de traiter les transactions hors chaîne et de les fusionner sur la chaîne principale en une seule transaction compressée. Ce processus améliore le débit des transactions, réduit les coûts de transaction, garantit la validité de l'état grâce à une preuve à connaissance nulle et améliore la confidentialité et la sécurité de la chaîne principale. Par conséquent, ZK Rollup est considéré comme la solution ultime pour l'expansion d'Ethereum.
Cependant, à l'heure actuelle, la génération d'une preuve à connaissance nulle nécessite une grande puissance de calcul et la difficulté technique est également plus élevée.En même temps, comme la machine virtuelle Ethereum (EVM) n'est pas conçue pour prendre en charge les circuits ZK, elle ne peut pas exécuter directement des contrats intelligents. Pour résoudre ce problème, de nombreux développeurs ont essayé de développer zkEVM, qui peut exécuter des contrats intelligents d'une manière compatible avec des calculs de preuve à connaissance nulle. Pour de nombreux cumuls ZK, atteindre l'équivalence EVM signifie atteindre une compatibilité complète au niveau du bytecode.À l'heure actuelle, zkEVM est la clé de l'expansion d'Ethereum.
Cet article étudiera cinq types de zkEVM courants et la progression de chaque type de projet, et soulignera les défis de conception de chaque type de zkEVM.
Qu'est-ce que zkEVM
zkEVM est une machine virtuelle compatible EVM qui prend en charge l'informatique sans connaissance, et c'est une plate-forme de développement d'applications basée sur la technologie blockchain Ethereum. Le contrat EVM peut être directement déployé et exécuté sans modification, et le fonctionnement du programme peut prouver la validité de son calcul grâce à une connaissance nulle.
Avantages de zkEVM
zkEVM améliore la compatibilité. zkEVM est hautement compatible avec les contrats intelligents écrits pour s'exécuter dans l'EVM et peut être intégré de manière transparente à l'infrastructure EVM.Les développeurs peuvent migrer les applications Ethereum existantes vers L2 sans redévelopper les applications.Dans le même temps, zk proof hérite de la sécurité du réseau Ethereum.
zkEVM améliore l'évolutivité. zkEVM utilise des preuves non interactives, ce qui améliore le débit et réduit la latence car il est plus rapide de vérifier les preuves pour les blocs L2 que de ré-exécuter chaque transaction dans un bloc nouvellement proposé.
zkEVM réduit les coûts de stockage. Un zkEVM Rollup peut choisir de publier uniquement des engagements à son état final sur Ethereum L1, réduisant ainsi les coûts de stockage en chaîne. Les preuves de validité garantissent l'exactitude du nouvel état du zkEVM, de sorte que le donneur d'ordre n'a pas à publier toutes les données nécessaires pour ré-exécuter le changement de transition d'état.
C'est avec l'amélioration continue de zkEVM que les limitations de ZK Rollup sont résolues.En utilisant la sécurité et l'efficacité de ZK Rollup, associées à la compatibilité d'EVM, les applications peuvent interagir avec des contrats intelligents pour améliorer l'expérience de l'application.
Cinq types différents de zkEVM et projets associés
Au début de la conception EVM, il n'était pas envisagé de prendre en charge les preuves à connaissance nulle, ce qui rendait difficile la construction d'une machine virtuelle zk compatible EVM.Cependant, à mesure que la recherche progresse, les calculs EVM peuvent être intégrés dans des preuves à connaissance nulle. Différents projets zkEVM utilisent Différentes approches combinent l'exécution EVM avec un calcul sans connaissance.
Vitalik Buterin, le fondateur d'Ethereum, a également publié un article expliquant les compromis entre les différents types de zkEVM. transactions similaires à Ethereum, de sorte qu'il est plus facile de vérifier la chaîne Ethereum elle-même ou de créer des cumuls ZK équivalents à ce qu'offre Ethereum, mais plus évolutifs qu'Ethereum.
Type 1 (équivalent au niveau du consensus - entièrement équivalent à Ethereum)
Le zkEVM de type 1 s'efforce d'être complètement équivalent à Ethereum. Il ne change aucune partie du système Ethereum pour faciliter la génération de preuves, ne remplace pas les hachages, les arbres d'état, les arbres de transaction, les précompilations ou toute autre logique de consensus.
L'avantage du Type 1 zkEVM est qu'il est parfaitement compatible avec Ethereum. À long terme, les modifications d'Ethereum testées dans le ZK-EVM de type 2 ou de type 3 peuvent être introduites dans Ethereum lui-même, mais cette réarchitecture a ses propres complexités, donc le type 1 est ce qui est finalement nécessaire pour faire Ethereum Square L1 lui-même est quelque chose de plus évolutif. Dans le même temps, les zkEVM de type 1 sont idéales pour les rollups car elles permettent aux rollups de réutiliser une grande partie de l'infrastructure.
L'inconvénient du type 1 zkEVM est le problème de temps de vérification. Ethereum n'a pas été conçu à l'origine autour de la convivialité ZK, de sorte que de nombreuses parties du protocole Ethereum nécessitent beaucoup de calculs pour effectuer des preuves ZK. Le zkEVM de type 1 est conçu pour répliquer exactement Ethereum, il ne peut donc pas atténuer ces inefficacités. Le zkEVM de type 1 est le zkEVM le plus idéal, et de nombreux projets construisent ou explorent ce type.
Actuellement, les projets liés au zkEVM de type 1 incluent Taiko et Kakarot.
Le zkEVM de type 1 construit par Taiko permet aux développeurs et aux utilisateurs de faire l'expérience d'Ethereum en toute sécurité, avec des frais de transaction inférieurs et sans avoir à envisager de modifications. A levé 22 millions de dollars en deux tours de table, le premier tour était de 10 millions de dollars dirigé par Sequoia China et le second tour était de 12 millions de dollars dirigé par Generative Ventures. Le 7 juin, Taiko a lancé l'Alpha-3 Incentive Testnet. Selon l'introduction officielle de Taiko, le testnet se concentre sur la partie ZK-EVM décentralisée et équivalente à Ethereum.
Kakarot zkEVM est un EVM déployé à l'aide du langage Cario, étendant la fiabilité de l'écosystème Starknet en améliorant la compatibilité EVM. Kakarot zkEVM peut exister sous différentes formes, dans la première étape pour amener EVM à Starknet, dans la deuxième étape Kakarot et Madara seront fusionnés en une pile unifiée pour prendre en charge L3 zkEVM, dans la troisième étape Kakarot et Madara peuvent également être combinés dans Together , le zkEVM de type 1 est activé. Le 2 juin, Kakarot zkEVM a achevé le cycle de financement de pré-amorçage, StarkWare, LambdaClass et d'autres institutions et investisseurs providentiels tels que Vitalik Buterin, Nicolas Bacca, Rand Hindi ont participé à l'investissement.
Type 2 (équivalence au niveau du bytecode - entièrement équivalente à EVM)
Type2 zkEVM s'efforce d'être pleinement équivalent à EVM, mais pas à Ethereum. Autrement dit, ils semblent identiques à Ethereum en interne, mais ils présentent quelques différences en externe, notamment en termes de structures de données telles que les structures de blocs et les arbres d'état. L'objectif est d'être entièrement compatible avec les applications existantes, mais avec quelques modifications mineures à Ethereum pour faciliter le développement et accélérer la génération de preuves.
L'avantage du type 2 zkEVM est une équivalence parfaite au niveau de la VM. Le zkEVM de type 2 apporte des modifications aux structures de données qui contiennent des éléments tels que l'état d'Ethereum. Ce sont des structures auxquelles l'EVM lui-même n'a pas d'accès direct, de sorte que les applications exécutées sur Ethereum s'exécuteront presque toujours sur des cumuls zkEVM de type 2. Ce type ne peut pas utiliser les clients d'exécution Ethereum tels quels, mais avec quelques modifications, ils peuvent être utilisés, et les outils de débogage EVM et d'autres infrastructures peuvent toujours être utilisés.
L'inconvénient du zkEVM de type 2 est que le temps de vérification est encore lent. Le zkEVM de type 2 offre des temps de vérification plus rapides que le zkEVM de type 1, principalement en supprimant des parties de la pile Ethereum qui reposent sur une cryptographie inutilement complexe et non compatible avec ZK. Par exemple, ils peuvent modifier les arbres Merkle-Patricia basés sur Keccak et RLP d'Ethereum, et peuvent également modifier la structure de bloc et de réception. Ces modifications améliorent significativement le temps d'étalonnage, mais ne résolvent pas tous les problèmes. Avec toutes les inefficacités et la non-convivialité ZK inhérentes à l'EVM, prouvant que l'EVM est encore lent.
Actuellement, les projets liés à zkEVM de type 2 incluent Linea et Polygon.
Linea est un zkEVM de type 2 alimenté par Consensys. En intégrant ZKP avec une compatibilité EVM complète, les développeurs peuvent créer des DApp évolutifs ou transférer des DApp existants vers de nouvelles plates-formes sans modifier le code ni réécrire les contrats intelligents. Le testnet public a été lancé le 28 mars de cette année et a été ajouté aux options de réseau par défaut de l'extension Metamask. Linea a publié Alpha v0.2 à 12h00 le 13 juin. Cette version se concentre sur le test de mises à niveau substantielles de l'architecture et la préparation du lancement du réseau principal.
Polygon zkEVM est open source et utilise le type 2 zkEVM. Il utilise des preuves ZK pour réduire les frais de transaction et augmenter le débit tout en maintenant la sécurité d'Ethereum L1. Polygon a déclaré le 14 février de cette année que Polygon zkEVM a réussi 100 % des vecteurs de test Ethereum adaptés à zkEVM. Les développeurs n'ont pas besoin de modifier ou de réécrire de code, et tous les outils Ethereum peuvent fonctionner de manière transparente avec Polygon zkEVM. Cela signifie que l'EVM La compatibilité de ZK Rollup a franchi une autre étape importante et a atteint le niveau de Type 2, qui est tout à fait équivalent à EVM. La version bêta du réseau principal Polygon zkEVM a été officiellement lancée le 27 mars 2023.
Type 2.5 (équivalent EVM, hors coût gaz)
Une façon d'améliorer le temps de vérification est d'augmenter considérablement le coût en gaz de certaines opérations dans l'EVM qui sont difficiles à prouver par ZK. Cela peut impliquer une précompilation, des opcodes keccak et éventuellement des modèles spécifiques d'invocation de contrats ou d'accès à la mémoire, au stockage ou à la restauration.
La modification du coût du gaz peut réduire la compatibilité de l'outil de développement et casser certaines applications, mais est généralement considérée comme moins risquée que les modifications "plus profondes" de l'EVM. Les développeurs doivent veiller à ne pas demander plus d'un bloc de gaz dans une transaction et à ne jamais passer d'appels avec des quantités de gaz codées en dur.
À l'heure actuelle, il n'y a pas de projet spécifique pour faire du type 2.5 EVM, il vient d'entrer dans une étape de type 2.
Type 3 (équivalence au niveau du bytecode - presque équivalente à EVM)
Le zkEVM de type 3 est presque équivalent à EVM, mais certains sacrifices sont faits pour une équivalence exacte afin de réduire davantage le temps de preuve et de faciliter le développement d'EVM.
Les avantages du type 3 zkEVM sont plus faciles à construire et un temps de vérification plus rapide. Le zkEVM de type 3 peut supprimer certaines fonctionnalités particulièrement difficiles à mettre en œuvre dans les implémentations de zkEVM. De plus, les zkEVM de type 3 présentent parfois des différences subtiles dans la manière dont ils gèrent le code de contrat, la mémoire ou la pile.
L'inconvénient du type 3 zkEVM est qu'il est moins compatible. Le zkEVM de type 3 vise à être compatible avec la plupart des applications tout en nécessitant un effort de réécriture minimal pour le reste. Cela dit, certaines applications devront être réécrites car elles utilisent des précompilations supprimées par le zkEVM de type 3, ou en raison de dépendances subtiles sur les cas extrêmes que la VM gère différemment.
Actuellement, les projets liés à zkEVM de type 3 incluent Scroll.
Scroll est un zk-rollup équivalent EVM développé par l'équipe Scroll en coopération avec le groupe PSE (Privacy and Scaling Explorations) de la Fondation Ethereum.Il est actuellement en phase de testnet pré-alpha et vise à être entièrement compatible avec EVM au niveau niveau de bytecode. Cela signifie que les développeurs peuvent utiliser n'importe quel langage compatible EVM pour créer des contrats intelligents et les déployer sur Scroll. Bien que Scroll construise actuellement un EVM de type 2, bon nombre des précompilations les plus complexes ne sont pas encore implémentées et sont donc considérées comme un EVM de type 3. Selon Scroll, il devrait lancer le réseau principal en juillet et août de cette année, et a déclaré qu'il pourrait lancer un programme de partenariat pour stimuler le développement écologique.
Actuellement, l'EVM de type 3 n'est qu'une étape de transition jusqu'à ce que le travail complexe d'ajout de précompilation soit terminé, puis les projets peuvent passer au zkEVM de type 2.5. Mais à l'avenir, les EVM de type 1 et de type 3 pourraient ajouter une nouvelle précompilation conviviale ZK-SNARK, offrant aux développeurs un temps de vérification réduit et des fonctions à faible coût en gaz.
Type 4 (équivalence au niveau du langage de développement - langage de haut niveau équivalent à EVM)
L'EVM de type 4 fonctionne en compilant le code source du contrat intelligent écrit dans un langage de haut niveau (tel que Solidity, Vyper ou un langage intermédiaire) dans un langage explicitement conçu pour être compatible avec ZK-SNARK.
L'avantage du type 4 zkEVM est une vitesse d'épreuve plus rapide. Étant donné que ce type ne vérifie pas toutes les différentes parties de chaque étape d'exécution EVM, mais démarre directement à partir du code de haut niveau, de nombreux coûts peuvent être évités.
L'inconvénient du type 4 zkEVM est qu'il est moins compatible. La première est que les adresses des contrats dans le système de type 4 peuvent être différentes de leurs adresses dans l'EVM ; l'autre est que de nombreuses applications utilisent des bytecodes EVM manuscrits dans certaines parties afin d'améliorer l'efficacité, ce que le système de type 4 peut ne pas prendre en charge. Les installations ne peuvent pas non plus être héritées.
Actuellement, les projets liés à zkEVM de type 4 incluent zkSync Era et StarkNet.
zkSync Era a été créé par Matters Lab. zkSync Era est le premier EVM à être lancé sur le réseau principal et à avoir un accès complet au public pour relier ses fonds au système ou déployer son code sur le réseau. zkSync Era utilise un format de bytecode différent pour prendre en charge Solidity en fournissant un compilateur. Il prend en charge Solidity, mais pas le bytecode EVM lui-même. Des outils tels que Hardhat ne peuvent pas être utilisés directement, bien qu'un plugin pour zkSync soit disponible.
Créé par StarkWare, StarkNet est un zk-rollup L2 qui utilise des preuves à connaissance nulle pour créer une couche d'exécution hors chaîne pour Ethereum. En fait, EVM n'est pas une fonctionnalité native de Starknet. Starknet utilise un convertisseur Warp (fourni par Nethermind) pour convertir le code Solidity en Cairo afin de prendre en charge le déploiement de contrats intelligents.
** Défis et avenir de zkEVM **
** **
Étant donné que l'EVM n'est pas construit avec un calcul à l'épreuve de zk à l'esprit, il possède des fonctionnalités qui ne sont pas adaptées aux circuits de preuve, en particulier en termes d'opcodes spéciaux, de surcharge de stockage architecturale basée sur la pile et de coûts de preuve. Mais plusieurs percées dans la technologie de la connaissance zéro ont permis d'atténuer ces problèmes.
Les cinq types de zkEVM n'ont pas clairement défini qui est bon et qui est mauvais.Le type à numéro inférieur est plus compatible avec l'infrastructure existante mais plus lent, tandis que le type à numéro supérieur est moins compatible avec l'infrastructure existante mais plus lent et plus rapide. En général, différents projets explorant différents types sont bénéfiques pour le développement de zkEVM et Ethereum.
À l'avenir, plusieurs implémentations de zkEVM pourront être utilisées à la fois pour ZK Rollup et pour valider la chaîne Ethereum elle-même. En théorie, Ethereum n'a pas besoin d'utiliser un seul zkEVM standard pour L1, et différents clients peuvent utiliser différentes preuves. Cependant, il faudra encore un certain temps avant qu'un tel avenir ne se concrétise. Dans le même temps, nous verrons plus d'innovations dans les différentes voies de mise à l'échelle d'Ethereum et de ZK-rollup basé sur Ethereum.
Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
Cinq types de zkEVM courants et la progression de leur projet
ZK Rollup, en tant que moyen de faire évoluer Ethereum, permet de traiter les transactions hors chaîne et de les fusionner sur la chaîne principale en une seule transaction compressée. Ce processus améliore le débit des transactions, réduit les coûts de transaction, garantit la validité de l'état grâce à une preuve à connaissance nulle et améliore la confidentialité et la sécurité de la chaîne principale. Par conséquent, ZK Rollup est considéré comme la solution ultime pour l'expansion d'Ethereum.
Cependant, à l'heure actuelle, la génération d'une preuve à connaissance nulle nécessite une grande puissance de calcul et la difficulté technique est également plus élevée.En même temps, comme la machine virtuelle Ethereum (EVM) n'est pas conçue pour prendre en charge les circuits ZK, elle ne peut pas exécuter directement des contrats intelligents. Pour résoudre ce problème, de nombreux développeurs ont essayé de développer zkEVM, qui peut exécuter des contrats intelligents d'une manière compatible avec des calculs de preuve à connaissance nulle. Pour de nombreux cumuls ZK, atteindre l'équivalence EVM signifie atteindre une compatibilité complète au niveau du bytecode.À l'heure actuelle, zkEVM est la clé de l'expansion d'Ethereum.
Cet article étudiera cinq types de zkEVM courants et la progression de chaque type de projet, et soulignera les défis de conception de chaque type de zkEVM.
Qu'est-ce que zkEVM
zkEVM est une machine virtuelle compatible EVM qui prend en charge l'informatique sans connaissance, et c'est une plate-forme de développement d'applications basée sur la technologie blockchain Ethereum. Le contrat EVM peut être directement déployé et exécuté sans modification, et le fonctionnement du programme peut prouver la validité de son calcul grâce à une connaissance nulle.
Avantages de zkEVM
zkEVM améliore la compatibilité. zkEVM est hautement compatible avec les contrats intelligents écrits pour s'exécuter dans l'EVM et peut être intégré de manière transparente à l'infrastructure EVM.Les développeurs peuvent migrer les applications Ethereum existantes vers L2 sans redévelopper les applications.Dans le même temps, zk proof hérite de la sécurité du réseau Ethereum.
zkEVM améliore l'évolutivité. zkEVM utilise des preuves non interactives, ce qui améliore le débit et réduit la latence car il est plus rapide de vérifier les preuves pour les blocs L2 que de ré-exécuter chaque transaction dans un bloc nouvellement proposé.
zkEVM réduit les coûts de stockage. Un zkEVM Rollup peut choisir de publier uniquement des engagements à son état final sur Ethereum L1, réduisant ainsi les coûts de stockage en chaîne. Les preuves de validité garantissent l'exactitude du nouvel état du zkEVM, de sorte que le donneur d'ordre n'a pas à publier toutes les données nécessaires pour ré-exécuter le changement de transition d'état.
C'est avec l'amélioration continue de zkEVM que les limitations de ZK Rollup sont résolues.En utilisant la sécurité et l'efficacité de ZK Rollup, associées à la compatibilité d'EVM, les applications peuvent interagir avec des contrats intelligents pour améliorer l'expérience de l'application.
Cinq types différents de zkEVM et projets associés
Au début de la conception EVM, il n'était pas envisagé de prendre en charge les preuves à connaissance nulle, ce qui rendait difficile la construction d'une machine virtuelle zk compatible EVM.Cependant, à mesure que la recherche progresse, les calculs EVM peuvent être intégrés dans des preuves à connaissance nulle. Différents projets zkEVM utilisent Différentes approches combinent l'exécution EVM avec un calcul sans connaissance.
Vitalik Buterin, le fondateur d'Ethereum, a également publié un article expliquant les compromis entre les différents types de zkEVM. transactions similaires à Ethereum, de sorte qu'il est plus facile de vérifier la chaîne Ethereum elle-même ou de créer des cumuls ZK équivalents à ce qu'offre Ethereum, mais plus évolutifs qu'Ethereum.
Type 1 (équivalent au niveau du consensus - entièrement équivalent à Ethereum)
Le zkEVM de type 1 s'efforce d'être complètement équivalent à Ethereum. Il ne change aucune partie du système Ethereum pour faciliter la génération de preuves, ne remplace pas les hachages, les arbres d'état, les arbres de transaction, les précompilations ou toute autre logique de consensus.
L'avantage du Type 1 zkEVM est qu'il est parfaitement compatible avec Ethereum. À long terme, les modifications d'Ethereum testées dans le ZK-EVM de type 2 ou de type 3 peuvent être introduites dans Ethereum lui-même, mais cette réarchitecture a ses propres complexités, donc le type 1 est ce qui est finalement nécessaire pour faire Ethereum Square L1 lui-même est quelque chose de plus évolutif. Dans le même temps, les zkEVM de type 1 sont idéales pour les rollups car elles permettent aux rollups de réutiliser une grande partie de l'infrastructure.
L'inconvénient du type 1 zkEVM est le problème de temps de vérification. Ethereum n'a pas été conçu à l'origine autour de la convivialité ZK, de sorte que de nombreuses parties du protocole Ethereum nécessitent beaucoup de calculs pour effectuer des preuves ZK. Le zkEVM de type 1 est conçu pour répliquer exactement Ethereum, il ne peut donc pas atténuer ces inefficacités. Le zkEVM de type 1 est le zkEVM le plus idéal, et de nombreux projets construisent ou explorent ce type.
Actuellement, les projets liés au zkEVM de type 1 incluent Taiko et Kakarot.
Le zkEVM de type 1 construit par Taiko permet aux développeurs et aux utilisateurs de faire l'expérience d'Ethereum en toute sécurité, avec des frais de transaction inférieurs et sans avoir à envisager de modifications. A levé 22 millions de dollars en deux tours de table, le premier tour était de 10 millions de dollars dirigé par Sequoia China et le second tour était de 12 millions de dollars dirigé par Generative Ventures. Le 7 juin, Taiko a lancé l'Alpha-3 Incentive Testnet. Selon l'introduction officielle de Taiko, le testnet se concentre sur la partie ZK-EVM décentralisée et équivalente à Ethereum.
Kakarot zkEVM est un EVM déployé à l'aide du langage Cario, étendant la fiabilité de l'écosystème Starknet en améliorant la compatibilité EVM. Kakarot zkEVM peut exister sous différentes formes, dans la première étape pour amener EVM à Starknet, dans la deuxième étape Kakarot et Madara seront fusionnés en une pile unifiée pour prendre en charge L3 zkEVM, dans la troisième étape Kakarot et Madara peuvent également être combinés dans Together , le zkEVM de type 1 est activé. Le 2 juin, Kakarot zkEVM a achevé le cycle de financement de pré-amorçage, StarkWare, LambdaClass et d'autres institutions et investisseurs providentiels tels que Vitalik Buterin, Nicolas Bacca, Rand Hindi ont participé à l'investissement.
Type 2 (équivalence au niveau du bytecode - entièrement équivalente à EVM)
Type2 zkEVM s'efforce d'être pleinement équivalent à EVM, mais pas à Ethereum. Autrement dit, ils semblent identiques à Ethereum en interne, mais ils présentent quelques différences en externe, notamment en termes de structures de données telles que les structures de blocs et les arbres d'état. L'objectif est d'être entièrement compatible avec les applications existantes, mais avec quelques modifications mineures à Ethereum pour faciliter le développement et accélérer la génération de preuves.
L'avantage du type 2 zkEVM est une équivalence parfaite au niveau de la VM. Le zkEVM de type 2 apporte des modifications aux structures de données qui contiennent des éléments tels que l'état d'Ethereum. Ce sont des structures auxquelles l'EVM lui-même n'a pas d'accès direct, de sorte que les applications exécutées sur Ethereum s'exécuteront presque toujours sur des cumuls zkEVM de type 2. Ce type ne peut pas utiliser les clients d'exécution Ethereum tels quels, mais avec quelques modifications, ils peuvent être utilisés, et les outils de débogage EVM et d'autres infrastructures peuvent toujours être utilisés.
L'inconvénient du zkEVM de type 2 est que le temps de vérification est encore lent. Le zkEVM de type 2 offre des temps de vérification plus rapides que le zkEVM de type 1, principalement en supprimant des parties de la pile Ethereum qui reposent sur une cryptographie inutilement complexe et non compatible avec ZK. Par exemple, ils peuvent modifier les arbres Merkle-Patricia basés sur Keccak et RLP d'Ethereum, et peuvent également modifier la structure de bloc et de réception. Ces modifications améliorent significativement le temps d'étalonnage, mais ne résolvent pas tous les problèmes. Avec toutes les inefficacités et la non-convivialité ZK inhérentes à l'EVM, prouvant que l'EVM est encore lent.
Actuellement, les projets liés à zkEVM de type 2 incluent Linea et Polygon.
Linea est un zkEVM de type 2 alimenté par Consensys. En intégrant ZKP avec une compatibilité EVM complète, les développeurs peuvent créer des DApp évolutifs ou transférer des DApp existants vers de nouvelles plates-formes sans modifier le code ni réécrire les contrats intelligents. Le testnet public a été lancé le 28 mars de cette année et a été ajouté aux options de réseau par défaut de l'extension Metamask. Linea a publié Alpha v0.2 à 12h00 le 13 juin. Cette version se concentre sur le test de mises à niveau substantielles de l'architecture et la préparation du lancement du réseau principal.
Polygon zkEVM est open source et utilise le type 2 zkEVM. Il utilise des preuves ZK pour réduire les frais de transaction et augmenter le débit tout en maintenant la sécurité d'Ethereum L1. Polygon a déclaré le 14 février de cette année que Polygon zkEVM a réussi 100 % des vecteurs de test Ethereum adaptés à zkEVM. Les développeurs n'ont pas besoin de modifier ou de réécrire de code, et tous les outils Ethereum peuvent fonctionner de manière transparente avec Polygon zkEVM. Cela signifie que l'EVM La compatibilité de ZK Rollup a franchi une autre étape importante et a atteint le niveau de Type 2, qui est tout à fait équivalent à EVM. La version bêta du réseau principal Polygon zkEVM a été officiellement lancée le 27 mars 2023.
Type 2.5 (équivalent EVM, hors coût gaz)
Une façon d'améliorer le temps de vérification est d'augmenter considérablement le coût en gaz de certaines opérations dans l'EVM qui sont difficiles à prouver par ZK. Cela peut impliquer une précompilation, des opcodes keccak et éventuellement des modèles spécifiques d'invocation de contrats ou d'accès à la mémoire, au stockage ou à la restauration.
La modification du coût du gaz peut réduire la compatibilité de l'outil de développement et casser certaines applications, mais est généralement considérée comme moins risquée que les modifications "plus profondes" de l'EVM. Les développeurs doivent veiller à ne pas demander plus d'un bloc de gaz dans une transaction et à ne jamais passer d'appels avec des quantités de gaz codées en dur.
À l'heure actuelle, il n'y a pas de projet spécifique pour faire du type 2.5 EVM, il vient d'entrer dans une étape de type 2.
Type 3 (équivalence au niveau du bytecode - presque équivalente à EVM)
Le zkEVM de type 3 est presque équivalent à EVM, mais certains sacrifices sont faits pour une équivalence exacte afin de réduire davantage le temps de preuve et de faciliter le développement d'EVM.
Les avantages du type 3 zkEVM sont plus faciles à construire et un temps de vérification plus rapide. Le zkEVM de type 3 peut supprimer certaines fonctionnalités particulièrement difficiles à mettre en œuvre dans les implémentations de zkEVM. De plus, les zkEVM de type 3 présentent parfois des différences subtiles dans la manière dont ils gèrent le code de contrat, la mémoire ou la pile.
L'inconvénient du type 3 zkEVM est qu'il est moins compatible. Le zkEVM de type 3 vise à être compatible avec la plupart des applications tout en nécessitant un effort de réécriture minimal pour le reste. Cela dit, certaines applications devront être réécrites car elles utilisent des précompilations supprimées par le zkEVM de type 3, ou en raison de dépendances subtiles sur les cas extrêmes que la VM gère différemment.
Actuellement, les projets liés à zkEVM de type 3 incluent Scroll.
Scroll est un zk-rollup équivalent EVM développé par l'équipe Scroll en coopération avec le groupe PSE (Privacy and Scaling Explorations) de la Fondation Ethereum.Il est actuellement en phase de testnet pré-alpha et vise à être entièrement compatible avec EVM au niveau niveau de bytecode. Cela signifie que les développeurs peuvent utiliser n'importe quel langage compatible EVM pour créer des contrats intelligents et les déployer sur Scroll. Bien que Scroll construise actuellement un EVM de type 2, bon nombre des précompilations les plus complexes ne sont pas encore implémentées et sont donc considérées comme un EVM de type 3. Selon Scroll, il devrait lancer le réseau principal en juillet et août de cette année, et a déclaré qu'il pourrait lancer un programme de partenariat pour stimuler le développement écologique.
Actuellement, l'EVM de type 3 n'est qu'une étape de transition jusqu'à ce que le travail complexe d'ajout de précompilation soit terminé, puis les projets peuvent passer au zkEVM de type 2.5. Mais à l'avenir, les EVM de type 1 et de type 3 pourraient ajouter une nouvelle précompilation conviviale ZK-SNARK, offrant aux développeurs un temps de vérification réduit et des fonctions à faible coût en gaz.
Type 4 (équivalence au niveau du langage de développement - langage de haut niveau équivalent à EVM)
L'EVM de type 4 fonctionne en compilant le code source du contrat intelligent écrit dans un langage de haut niveau (tel que Solidity, Vyper ou un langage intermédiaire) dans un langage explicitement conçu pour être compatible avec ZK-SNARK.
L'avantage du type 4 zkEVM est une vitesse d'épreuve plus rapide. Étant donné que ce type ne vérifie pas toutes les différentes parties de chaque étape d'exécution EVM, mais démarre directement à partir du code de haut niveau, de nombreux coûts peuvent être évités.
L'inconvénient du type 4 zkEVM est qu'il est moins compatible. La première est que les adresses des contrats dans le système de type 4 peuvent être différentes de leurs adresses dans l'EVM ; l'autre est que de nombreuses applications utilisent des bytecodes EVM manuscrits dans certaines parties afin d'améliorer l'efficacité, ce que le système de type 4 peut ne pas prendre en charge. Les installations ne peuvent pas non plus être héritées.
Actuellement, les projets liés à zkEVM de type 4 incluent zkSync Era et StarkNet.
zkSync Era a été créé par Matters Lab. zkSync Era est le premier EVM à être lancé sur le réseau principal et à avoir un accès complet au public pour relier ses fonds au système ou déployer son code sur le réseau. zkSync Era utilise un format de bytecode différent pour prendre en charge Solidity en fournissant un compilateur. Il prend en charge Solidity, mais pas le bytecode EVM lui-même. Des outils tels que Hardhat ne peuvent pas être utilisés directement, bien qu'un plugin pour zkSync soit disponible.
Créé par StarkWare, StarkNet est un zk-rollup L2 qui utilise des preuves à connaissance nulle pour créer une couche d'exécution hors chaîne pour Ethereum. En fait, EVM n'est pas une fonctionnalité native de Starknet. Starknet utilise un convertisseur Warp (fourni par Nethermind) pour convertir le code Solidity en Cairo afin de prendre en charge le déploiement de contrats intelligents.
** Défis et avenir de zkEVM **
**
**
Étant donné que l'EVM n'est pas construit avec un calcul à l'épreuve de zk à l'esprit, il possède des fonctionnalités qui ne sont pas adaptées aux circuits de preuve, en particulier en termes d'opcodes spéciaux, de surcharge de stockage architecturale basée sur la pile et de coûts de preuve. Mais plusieurs percées dans la technologie de la connaissance zéro ont permis d'atténuer ces problèmes.
Les cinq types de zkEVM n'ont pas clairement défini qui est bon et qui est mauvais.Le type à numéro inférieur est plus compatible avec l'infrastructure existante mais plus lent, tandis que le type à numéro supérieur est moins compatible avec l'infrastructure existante mais plus lent et plus rapide. En général, différents projets explorant différents types sont bénéfiques pour le développement de zkEVM et Ethereum.
À l'avenir, plusieurs implémentations de zkEVM pourront être utilisées à la fois pour ZK Rollup et pour valider la chaîne Ethereum elle-même. En théorie, Ethereum n'a pas besoin d'utiliser un seul zkEVM standard pour L1, et différents clients peuvent utiliser différentes preuves. Cependant, il faudra encore un certain temps avant qu'un tel avenir ne se concrétise. Dans le même temps, nous verrons plus d'innovations dans les différentes voies de mise à l'échelle d'Ethereum et de ZK-rollup basé sur Ethereum.