La technologie de preuve à divulgation nulle de connaissance (Zero Knowledge Proof, ZKP) n’était pas prévue lors du lancement d’Ethereum en 2014. Cependant, elle a connu une augmentation de son intérêt ces dernières années et est destinée à jouer un rôle majeur dans l’industrie de la blockchain. Les efforts pour combiner la technologie ZKP et l’EVM (la machine virtuelle d’Ethereum) ont été intensifiés, et zkEVM en est le résultat.
Qu’est-ce qu’un Zk-rollup ?
Les zk-rollups sont des solutions de scalabilité qui condensent de multiples exécutions de transactions en dehors de la blockchain principale et renvoient les données au réseau principal sous forme de transaction unique. Un zk-rollup utilise la cryptographie Zero Knowledge Proof (ZKP) pour valider une information sans révéler l’information elle-même. Ainsi, les zk-rollups n’ont pas besoin de publier toutes les données de transaction sur le réseau principal Ethereum, ce qui réduit les frais de gas.
Qu’est-ce que l’EVM ?
La machine virtuelle Ethereum (EVM) est une machine d’état qui alimente le système de compte et les smart contracts d’Ethereum. Chaque exécution de smart contract déclenche la transition de l’EVM d’un état ancien à un état nouveau. L’EVM définit la règle pour calculer les nouveaux états valides à partir d’un bloc à un autre.
Qu’est-ce que le ZkEVM et comment ça fonctionne ?
zkEVM est un processus qui reproduit l’environnement Ethereum en zk-rollups, calculant toutes les transactions et produisant un état mis à jour et une preuve ZKP. Cette preuve est soumise à un smart contract de vérification qui vérifie la justesse des sorties des états initiaux et nouveaux sans vérifier toutes les transactions individuellement.
Quels sont les différents types de zkEVM ?
Différents types de zkEVM ont été identifiés par Vitalik Buterin, fondateur d’Ethereum. Il se peut dans le futur que le nombre de type de zkEVM évolue à la hausse, mais pour le moment voici la liste :
Les types 1 sont entièrement équivalents à Ethereum, mais les temps de preuve peuvent être longs.
Les types 2 sont entièrement équivalents à la machine virtuel d’Ethereum (EVM), mais les temps de preuve peuvent être longs. La différence avec le type 1 signifie que tous les autres composants d’Ethreum ne sont pas émuler dans le zkEVM, seulemetn la machine virtuelle.
Le type 2.5 a des coûts de gas légèrement inférieurs, mais peut nécessiter des modifications côté développement.
Le type 3 sacrifie certaines fonctionnalités pour une génération de preuve plus facile.
Le type 4 est conçu pour des langages de haut niveau et a des temps de preuve plus rapides.
Quelles implications pour l’écosystème Ethereum ?
Les développeurs peuvent facilement porter les DApps et les smart contracts Ethereum vers les zkEVM, car les zkEVM reposent sur l’EVM. Différents types de zkEVM existent, avec des compromis entre l’efficacité de la performance ZKP et la compatibilité de l’EVM.
La mise en œuvre de zkEVM étend le support du calcul ZKP à l’exécution de smart contracts, étendant ainsi les DApps à tous les protocoles compatibles avec l’EVM. La technologie ZKP peut potentiellement être compatible avec les cas d’utilisation de Web2, rendant les applications Web3 plus fluides et accessibles pour l’utilisateur. Elle peut également permettre aux utilisateurs habitués aux navigateurs Internet traditionnels d’accéder à Web3, favorisant ainsi l’adoption de Web3.