Vitalik Buterin est le co-fondateur d’Ethereum. Fréquemment, celui-ci partage ses réflexions et recherches sur son blog personnel. Au cours des derniers mois, il a publié plusieurs articles traitants des layers 2. Dans sa dernière publication, il explore la possibilité d’intégrer une zkEVM native à Ethereum.
Vitalik Buterin veut aider les zkEVM
Une zkEVM est un environnement similaire à l’Ethereum Virtual Machine (EVM) qui dispose également d’une compatibilité avec les zero-knowledge proofs.
Ces dernières sont particulièrement utilisées sur les layers 2 de type zk-Rollup. En effet, ces rollups doivent disposer d’une EVM personnalisée pour supporter les zero-knowledges.
Cependant, cela pose un problème de taille. En effet, chaque solution doit développer sa propre infrastructure ainsi que sa propre implémentation personnalisée de l’EVM.
Une situation qui n’est pas idéale selon Vitalik Buterin. En effet, le 13 décembre, Buterin a publié un article intitulé « À quoi pourrait ressembler un “ZK-EVM intégré” ? ».
« Cependant, cela les oblige à faire confiance à une vaste base de code, et s’il y a un bug dans cette base de code, ces VM risquent d’être piratées. En outre, cela signifie que même les EVM ZK qui veulent rester exactement équivalents à l’EVM L1 doivent disposer d’une certaine forme de gouvernance pour copier les modifications apportées à l’EVM L1 dans leur propre implémentation de l’EVM. »
Explique Buterin dans son article.
Une zkEVM intégrée : la solution de Vitalik Buterin
Ainsi, Vitalik Buterin a proposé l’idée d’intégrer une zkEVM directement au niveau du layer 1, à savoir Ethereum.
En bref, cela permettrait aux solutions de deuxième niveau de vérifier l’exécution de leurs contrats intelligents sur le réseau principal Ethereum sans avoir à compter sur leurs propres implémentations personnalisées de l’EVM.
Toutefois, l’implémentation de cette solution est accompagnée de plusieurs besoins intrinsèques :
Intégration de l’ensemble des fonctionnalités de base d’Ethereum (vérification des blocs, validité des calculs effectués, etc.) ;
Compatibilité multiclient, en ne privilégiant pas un schéma particulier de preuve pour permettre aux différents clients d’Ethereum de s’intégrer, quel que soit leur système de preuve ;
Compatibilité avec les « presque-EVM », à savoir les EVM personnalisées qui présentent des variations mineures avec l’EVM ;
Vitesse et fiabilité, avec la possibilité de générer des preuves pour les blocs Ethereum rapidement et de manière fiable.
Comment introduire cette solution sur Ethereum ?
De son côté, Vitalik Buterin a d’ores et déjà envisagé à quoi pourrait ressembler une telle implémentation. Ainsi, dans sa publication, il explique que cela nécessiterait l’introduction d’un nouveau type de transactions appelé ZKEVMClaimTransaction.
Sans trop entrer dans les détails, ce type de transactions contiendrait l’ensemble des informations nécessaires pour que la zkEVM puisse la valider (état racine, contenu du bloc, état après la transaction, preuve, etc.)
Néanmoins, de nouveaux défis viennent de pair avec cette méthode. En effet, celle-ci s’accompagne de plusieurs défis :
Disponibilité des données : la zkEVM intégrée doit garantir que les données propres à l’exécution de l’EVM soient disponibles afin que les prouveurs puissent vérifier l’exécution ;
Auditabilité : la zkEVM doit être auditable afin que les utilisateurs puissent attester de la validité des preuves.
L’idée d’enchâsser une zkEVM dans le protocole Ethereum est une idée intéressante qui pourrait simplifier considérablement le développement de solutions de seconde couche. Cependant, il existe plusieurs défis qui devront être résolus avant qu’un tel système puisse être mis en œuvre.
Quoi qu’il en soit, l’intégration d’une zkEVM native à Ethereum entre parfaitement dans le cadre du changement de paradigme décrit par Buterin en octobre dernier.
L’article Faire battre le cœur d’Ethereum avec une zkEVM : la nouvelle idée de Vitalik Buterin est apparu en premier sur Journal du Coin.