Comment la transition de zkEVM à zkVM a amélioré la scalabilité de la blockchain

La bêta de phase 2 de zkEVM de Polygon vise à stimuler la croissance des DApps et l'activité DeFi
La technologie blockchain a considérablement évolué depuis la création du Bitcoin il y a plus de dix ans. Si les premiers réseaux blockchain ont révolutionné le secteur par leur approche décentralisée, ils ont dû relever d'importants défis, notamment en matière de scalabilité. Face à l'expansion continue des applications et des cas d'usage de la blockchain, la résolution des problèmes de scalabilité est devenue une priorité absolue.
L'une des avancées les plus prometteuses dans ce domaine est la transition de zkEVM (Zero-Knowledge Ethereum Virtual Machine) à zkVM (Zero-Knowledge Virtual Machine), qui a le potentiel d'améliorer considérablement la scalabilité de la blockchain. Dans cet article, nous explorerons l'univers de zkEVM, ses limitations et comment l'évolution vers zkVM devrait apporter des améliorations substantielles à la scalabilité de la blockchain.
L'essor des preuves à divulgation nulle de connaissance (ZKP)
Les preuves à divulgation nulle de connaissance jouent un rôle crucial dans la protection de la vie privée des utilisateurs sur Internet, notamment dans le contexte de l'adoption généralisée de la blockchain. Elles offrent également la perspective de résoudre des problèmes de calcul complexes. Actuellement, deux approches principales permettent d'y parvenir : les zkEVM et les zkVM. Dans cette étude, nous examinerons ces deux approches en analysant leurs avantages et leurs inconvénients. Toutefois, avant d'entamer cette analyse, il est essentiel de comprendre l'objectif de notre optimisation et l'importance de la protection de la vie privée.
Dans le domaine de l'évolution cryptographique, à l'instar de son homologue biologique, le développement des caractéristiques est guidé par l'objectif d'optimiser des résultats spécifiques. Bitcoin, par exemple, a privilégié la sécurité avant tout, reconnaissant qu'une monnaie numérique décentralisée devait être irréprochable en matière de sécurité avant de pouvoir être acceptée et largement adoptée. Ethereum a suivi une voie similaire, mettant l'accent sur la sécurité tout en introduisant une couche supplémentaire : la programmabilité offerte par lestracintelligents.
Ces itérations de l'évolution cryptographique tendent à se construire les unes sur les autres, chacune présentant ses propres compromis. Dans le cas d' Ethereum, chaque nœud doit réexécuter chaque transaction, ce qui représente un défi de taille en termes de puissance de calcul, entraînant des frais de gaz élevés et une lenteur des transactions. La décision d'effectuer les calculs directement sur la blockchain visait à renforcer la sécurité et la transparence. Cependant, elle a un coût : une performance et une confidentialité compromises.
Les rollups sont apparus comme une solution pour améliorer la scalabilité en réduisant la charge de calcul associée à Ethereum. Bien qu'ils contribuent à résoudre le problème de performance, ils ne prennent pas en compte les enjeux de confidentialité. Or, la confidentialité est devenue une condition essentielle pour les applications souhaitant élargir leur base d'utilisateurs. Ces derniers exigent de plus en plus de contrôle sur leurs données et se méfient des entités cherchant à accéder librement à leurs informations.
Les développeurs d'applications ont pris conscience de cette tendance croissante à la protection de la vie privée et de son importance. Par conséquent, ils explorent activement des méthodes pour garantir la confidentialité grâce aux preuves à divulgation nulle de connaissance (ZKP). Ces protocoles cryptographiques permettent aux utilisateurs ou aux applications de vérifier la véracité d'une affirmation sans divulguer d'informations supplémentaires. Par exemple, les ZKP peuvent confirmer qu'un utilisateur est âgé de plus de 18 ans sans révéler son âge exact ni sa date de naissance.
Comme le souligne le rapport « State of Crypto 2023 » d'a16z, l'adoption de la technologie ZK-proof par les développeurs est appelée à s'accélérer. Cette tendance est alimentée par une forte augmentation des publications académiques et du nombre croissant de transactions quotidiennes nécessitant la vérification de preuves ZK sur le réseau Ethereum . L'essor des ZKP témoigne de leur importance grandissante dans la recherche d'un équilibre entre confidentialité, sécurité et scalabilité au sein de la blockchain.
Comprendre zkVM
Le premier aspect qui nécessite defidéfinition est le suivant : qu’est-ce qu’une machine virtuelle (VM) ? En bref, une VM est un programme logiciel capable d’exécuter d’autres programmes, fonctionnant généralement comme une boucle itérative qui exécute un ensemble spécifié d’instructions — ces instructions représentant « l’autre programme »
La machine virtuelle Ethereum (EVM) est spécifiquement chargée d'exécuter lestracintelligents Ethereum . La liste initiale des instructions prises en charge et de leurs comportements respectifs a été publiée en 2014 dans le document de référence, un livre jaune devenu une référence, reconnaissable à sa couleur jaune caractéristique et à son importance. Ce document est régulièrement mis à jour afin de refléter l'ensemble des instructions actuellement prises en charge.
Une machine virtuelle à divulgation nulle de connaissance (VM-ZK), quant à elle, est essentiellement une machine virtuelle implémentée sous forme de circuit au sein d'un système de preuve à divulgation nulle de connaissance (PZC). Ceci la distingue des systèmes PZC conventionnels qui se concentrent principalement sur la preuve de l'exécution d'un programme. Dans les VM-ZK, l'accent est mis sur la vérification de l'exécution de la machine virtuelle elle-même. Par conséquent, certains établissent une distinction, classant les PZC non-VM dans l'approche FPGA (Field-Programmable Gate Array), tandis que les VM-ZK sont considérées comme des composantes de l'approche CPU (Central Processing Unit).
Dans les systèmes zkp, les programmes ou circuits sont des entités immuables, à l'instar des binaires compilés à partir de programmes spécifiques. Par conséquent, un circuit zkVM intègre un nombre prédéterminé d'itérations pour la boucle, ce qui peut s'apparenter au déroulement de cette boucle. En substance, un zkVM est un circuit conçu pour exécuter une machine virtuelle. Les instructions du programme peuvent être fournies comme entrée publique à ce circuit, garantissant une transparence totale quant au programme vérifié. (Différentes méthodes permettent de transmettre les instructions du programme à la machine virtuelle si l'on souhaite explorer d'autres possibilités.)
Plusieurs projets zkVM ont vu le jour, dont au moins trois initiatives notables :
- Le Caire : Utilisé par Starknet, ce projet se distingue par la qualité irréprochable de sa documentation, considérée comme une œuvre d’art. Une implémentation expérimentale appelée « turshi » est également intégrée au framework Kimchi.
- Miden : Projet en cours au sein de l'écosystème Polygon, Miden est actuellement en développement.
- Risczero : Autre initiative en cours de développement, Risczero vise à prendre en charge le jeu d’instructions RISC-V, une norme largement reconnue au-delà du domaine de la blockchain.
Chacun de ces projets utilise des jeux d'instructions distincts, ce qui les rend non interopérables entre eux.
Types de zkVM
Le domaine des machines virtuelles zk peut être catégorisé en deux types distincts :
- Machines virtuelles optimisées pour la preuve à divulgation nulle de connaissance (zkp) : Cairo et Miden en sont des exemples notables. Ces machines virtuelles sont conçues avec une grande précision pour privilégier l’efficacité, ce qui les rend nettement plus rapides. Leur objectif principal est de faciliter l’intégration transparente avec les systèmes de preuve à divulgation nulle de connaissance (zkp), en simplifiant le processus de vérification.
- Machines virtuelles réelles : cette catégorie englobe des machines virtuelles comme RiscZero, qui prend en charge le jeu d’instructions RISC-V, et diverses zkEVM adaptées à la machine virtuelle Ethereum (EVM). Les machines virtuelles réelles visent à assurer la compatibilité avec les jeux d’instructions et les écosystèmes établis, au-delà du cadre des preuves à divulgation nulle de connaissance.
Le soutien apporté à la machine virtuelle Ethereum (EVM) s'explique par plusieurs raisons convaincantes. Premièrement, pour Ethereum , elle permet la création de preuves couvrant l'intégralité de la transition d'état, de l'état initial à l'état actuel Ethereum . Des projets comme Mina illustrent parfaitement cette capacité.
Deuxièmement, pour les projets non-Ethereum , l'adoption de la compatibilité EVM offre l'avantage d'intégrer facilement les projets et applications de l'écosystème Ethereum , tels qu'Uniswap. Cela facilite non seulement l'interopérabilité, mais permet également d'tracdes développeurs de la communauté Ethereum vers de nouveaux projets.
Mécanisme de zkVM
ZkVM, issu de nos travaux antérieurs sur TxVM et inspiré des architectures Bitcoin et Ethereum , introduit un nouveau format de transaction. Dans ZkVM, une transaction est représentée par un programme qui manipule directement les flux d'actifs comme des objets de premier ordre, et met à jour l'état de la blockchain via un journal des transactions. Cette séparation entre l'application du journal des transactions et sa validation permet une architecture hautement évolutive tout en offrant un environnement robuste pour lestracpersonnalisés.
Pour améliorer la scalabilité de la blockchain et permettre des transferts de valeurdent, ZkVM utilise un modèle UTXO (Unspent Transaction Output) pour représenter les soldes. Tous les soldes sont exprimés sous forme d'ensembles de sorties non dépensées (UTXO), qui peuvent être créées, détruites et manipulées au sein des transactions. Ces UTXO sont stockées efficacement sous forme de racines Merkle grâce au schéma Utreexo, ce qui réduit considérablement les besoins de stockage et facilite le déploiement à plus grande échelle de nœuds entièrement validants.
Dans ZkVM, chaque sortie est untracstocké dans l'état de la blockchain, contenant plusieurs éléments protégés par un prédicat — une condition qui doit être remplie pour déverrouiller ces éléments. ZkVM utilise une architecture basée sur Taproot, permettant de déverrouiller lestracsoit par des signatures cryptographiques, soit par l'exécution d'un sous-programme intégré qui vérifie des conditions personnalisées.
Lestracdans ZkVM servent de briques de base polyvalentes pour les protocoles de niveau supérieur tels que les comptes, les carnets d'ordres et les canaux de paiement. Cette flexibilité permet à des plateformes comme Stellar de s'affranchir des choix de conception de protocoles liés à la couche critique de consensus, favorisant ainsi l'expérimentation d'un large éventail d'applications décentralisées.
En matière dedent, ZkVM établit un équilibre grâce au schéma Taproot dans les prédicats. La logiquetracn'a pas besoin d'être révélée si toutes les parties coopèrent, mais la sécurité reste intacte dans le cas contraire. Même lorsque la logiquetracdoit être divulguée, les données telles que les soldes et les paramètrestracrestentdentgrâce à un système de contraintes vérifiées à divulgation nulle de connaissance.
ZkVM exploite le système de preuve à divulgation nulle de connaissance Bulletproofs, chiffrant par défaut les valeurs et les données sous forme d'engagements de Pedersen. Les utilisateurs peuvent spécifier des expressions arithmétiques et logiques sur des valeurs secrètes, qui sontmatictransformées en un système de contraintes Bulletproofs. Les transactions sont compactes et efficaces : les petites transactions ont une taille comprise entre 1 et 1,5 Ko, et les paiements agrégés n'entraînent qu'un coût marginal de 200 octets par paire entrée-sortie. La vérification est hautement parallélisable, ne prenant qu'environ 1 milliseconde par sortie. Cette efficacité permet à ZkVM de privilégier la sécurité sans compromettre le chiffrement des données, garantissant ainsi que celles-ci ne sont révélées qu'aux parties autorisées et selon le principe du besoin d'en connaître. De plus, le cadre Bulletproofs élimine le besoin d'une configuration de confiance, permettant la création de nouveaux protocoles sur ZkVM sans nécessiter de mises à niveau à l'échelle du réseau pour chaque fonctionnalité.
Nécessité de passer de zkEVM à zkVM
Limitations de zkEVM
Bien que zkEVM ait introduit des améliorations significatives, il présentait encore certaines limitations qui entravaient son potentiel d'évolutivité :
- Compatibilité limitée : zkEVM a été conçu principalement pour le réseau Ethereum . De ce fait, d’autres plateformes blockchain n’ont pas pu adopter facilement cette technologie, limitant ainsi son impact plus large sur l’écosystème blockchain.
- Complexité : La mise en œuvre de zkEVM exigeait une connaissance approfondie des preuves à divulgation nulle de connaissance et de la cryptographie. Cette complexité rendait difficile l’intégration de zkEVM dans les projets des développeurs, limitant ainsi son adoption.
- Défis liés au stockage et aux données : zkEVM n’a pas résolu efficacement le problème du stockage des données sur la blockchain. Les importants besoins en stockage de données sont restés un frein à la scalabilité.
La transition vers zkVM : une avancée majeure en matière de scalabilité
Reconnaissant les limites de zkEVM, la communauté blockchain s'est lancée dans le développement d'une solution plus polyvalente et évolutive, donnant naissance à zkVM, ou Zero-Knowledge Virtual Machine.
zkVM s'appuie sur les principes fondamentaux de zkEVM tout en corrigeant ses lacunes. Découvrons comment zkVM est sur le point de révolutionner la scalabilité de la blockchain :
- Compatibilité multiplateforme : Contrairement à zkEVM, zkVM est conçu pour être indépendant de toute blockchain. Cela signifie qu’il peut être intégré à divers réseaux blockchain, et pas seulement à Ethereum. Cette compatibilité étendue permet à zkVM d’avoir un impact plus significatif sur l’ensemble de l’écosystème blockchain.
- Expérience utilisateur améliorée : zkVM vise à simplifier le processus de mise en œuvre pour les développeurs. Grâce à des outils et des interfaces conviviaux, zkVM facilite l’accès aux preuves à divulgation nulle de connaissance, réduisant ainsi les obstacles à leur prise en main.
- Gestion des données améliorée : zkVM résout plus efficacement le problème du stockage des données. Il introduit des techniques innovantes de compression et de stockage, réduisant ainsi les besoins en espace de stockage sur la blockchain. Cette optimisation a un impact positif direct sur la scalabilité en diminuant la taille des données de la blockchain.
- Traitement des transactions plus rapide : grâce aux capacités de calcul hors chaîne de zkVM, la charge de calcul sur le réseau blockchain est encore réduite. Il en résulte des délais de traitement des transactions plus courts, des frais moins élevés et des performances globales améliorées.
Quels sont nos objectifs d'optimisation ?
Lockheed Martin s'est lancé dans le projet ambitieux du F-35, conçu comme un avion de chasse polyvalent capable de remplacer les chasseurs air-air et air-sol spécialisés. Cependant, ce projet a connu d'importants revers, accusant un retard d'une décennie sur le calendrier prévu et se forgeant auprès des experts du secteur la réputation d'être l'un des avions de chasse les moins performants jamais produits.
L'enseignement principal de cette expérience est que lorsqu'un système est conçu dans un but précis, il excelle souvent dans l'accomplissement de ce rôle particulier, contrairement à une solution qui tente d'optimiser simultanément plusieurs objectifs.
Par analogie avec la blockchain, Ethereum a été initialement conçu comme une plateforme entièrement publique et transparente. Si l'on tente d'intégrer des fonctionnalités de confidentialité à une telle blockchain, il est peu probable d'atteindre le même niveau de performance qu'un système conçu dès le départ avec la confidentialité comme principe fondamental. Ceci pose des défis d'ingénierie, car les développeurs doivent adapter des programmes qui n'étaient pas initialement prévus pour fonctionner dans ce contexte, ce qui conduit à la création de circuits complexes et difficiles à gérer.
Cependant, une autre approche consiste à développer une couche applicative dédiée, conçue spécifiquement pour la protection de la vie privée. Cette approche permet d'optimiser les fonctionnalités liées à la confidentialité tout en tirant parti des avantages offerts par les preuves à divulgation nulle de connaissance, un sujet que nous aborderons plus en détail dans la section suivante.
Applications concrètes de zkVM et zkEVM
Les technologies zkEVM et zkVM trouvent toutes deux des applications dans divers domaines, promettant de transformer des industries et des cas d'utilisation de la blockchain :
- DeFi Révolution: Les plateformes de finance décentralisée (DeFi) peuvent tirer parti de zkVM et zkEVM pour améliorer la vitesse des transactions, réduire les frais et protéger les données financières sensibles.
- Transformation de la chaîne d'approvisionnement: Une transparence et une traçabilité améliorées tracles chaînes d'approvisionnement sont possibles grâce à zkVM et zkEVM, réduisant ainsi la fraude et augmentant l'efficacité.
- Sécurité des données de santé: zkEVM et zkVM peuvent garantir la confidentialité et la sécurité des données de santé, permettant un partage sécurisé des informations entre les parties autorisées.
- Jeux et NFT: L'industrie du jeu et les places de marché de jetons non fongibles (NFT) peuvent bénéficier de transactions plus rapides et d'une gestion sécurisée des données fournies par zkVM et zkEVM.
L'avenir de zkVM et de la scalabilité de la blockchain
À mesure que zkVM gagne tracterrain dans l'univers de la blockchain, elle offre la possibilité de résoudre les problèmes de scalabilité persistants qui ont freiné l'adoption et la croissance de cette technologie. Cependant, comme toute technologie émergente, elle présente des défis à relever et des points à prendre en compte :
- Obstacles à l'adoption : Bien que la compatibilité de zkVM avec diverses blockchains soit un avantage significatif, son adoption à grande échelle dépendra toujours de la volonté des projets blockchain d'intégrer cette technologie à leurs réseaux.
- Problèmes de sécurité : Les preuves à divulgation nulle de connaissance (zkv) font appel à des techniques cryptographiques complexes, et toute vulnérabilité pourrait engendrer des risques de sécurité importants. Un audit et une amélioration continus des implémentations zkv sont essentiels pour maintenir la confiance des utilisateurs.
- Contexte réglementaire : L’évolution de la technologie blockchain s’accompagne d’un examen réglementaire continu. L’impact des autorités de réglementation sur les preuves à divulgation nulle de connaissance et leurs applications reste à déterminer, ce qui pourrait influencer l’adoption future de zkVM.
Conclusion
Le passage de zkEVM à zkVM représente une avancée majeure dans la résolution des problèmes de scalabilité de la blockchain. Si zkEVM a posé les bases, zkVM offre une solution plus polyvalente et évolutive, susceptible de révolutionner l'utilisation de la technologie blockchain dans divers secteurs.
La transition vers zkVM n'est pas sans défis, mais ses avantages en termes de compatibilité multiplateforme, de convivialité, de gestion des données et de rapidité de traitement des transactions en font une avancée majeure dans l'univers de la blockchain. À mesure que zkVM évolue et s'intègre aux écosystèmes blockchain, nous pouvons nous attendre à voir émerger des applications blockchain plus performantes et évolutives, capables de transformer des secteurs entiers et d'améliorer la vie des populations à travers le monde.
FAQ
Qu'est-ce que zkEVM et pourquoi était-il insuffisant pour la scalabilité de la blockchain ?
zkEVM signifie Zero-Knowledge Ethereum Virtual Machine (machine virtuelle Ethereum à connaissance nulle). Sa scalabilité était limitée car elle se concentrait principalement sur Ethereum, manquait de compatibilité inter-chaînes et ne traitait pas efficacement le stockage des données ni la convivialité.
Qu'est-ce que zkVM et en quoi diffère-t-il de zkEVM ?
zkVM, ou Zero-Knowledge Virtual Machine, est une solution plus polyvalente et compatible avec différentes blockchains, basée sur zkEVM. Elle simplifie le développement, améliore la gestion des données et offre un traitement des transactions plus rapide que zkEVM.
Comment zkVM améliore-t-il l'expérience utilisateur pour les développeurs blockchain ?
zkVM simplifie le développement en fournissant des outils et des interfaces conviviaux, en réduisant la complexité de la mise en œuvre des preuves à divulgation nulle de connaissance et en facilitant l'utilisation de cette technologie par les développeurs.
Quelles sont les applications concrètes de zkVM et zkEVM dans les écosystèmes blockchain ?
Les technologies zkVM et zkEVM trouvent toutes deux des applications dans DeFi, la chaîne d'approvisionnement, la sécurité des données de santé, les jeux, les NFT et bien plus encore, offrant une vitesse de transaction, une sécurité des données et une confidentialité améliorées.
Quels sont les défis auxquels zkVM est confronté en matière d'adoption et de développement futur ?
Les défis consistent notamment à obtenir une adoption généralisée parmi les projets blockchain, à garantir la sécurité des techniques cryptographiques complexes et à surmonter les obstacles réglementaires potentiels à mesure que la technologie évolue.
Avertissement : Les informations fournies ne constituent pas un conseil en investissement. CryptopolitanCryptopolitan.com toute responsabilité quant aux investissements réalisés sur la base des informations présentées sur cette page. Nous voustronrecommandons vivement d’effectuer vosdent et/ou de consulter un professionnel qualifié avant toute décision d’investissement.

Shayan Chowdhury
Shayan est un journaliste spécialisé dans les cryptomonnaies, notamment les modules cryptographiques et le développement blockchain. Il a été reporter chez CoinPedia et rédacteur stagiaire chez Binance. Depuis octobre 2022, il est rédacteur en chef des prévisions de prix des cryptomonnaies chez Cryptopolitan Shayan est diplômé du Bidhannagar Government College, où il a obtenu une licence enmatic.
- Quelles cryptomonnaies peuvent vous faire gagner de l'argent ?
- Comment renforcer la sécurité de votre portefeuille (et lesquels valent vraiment la peine d'être utilisés)
- Stratégies d'investissement peu connues utilisées par les professionnels
- Comment débuter en investissement crypto (quelles plateformes d'échange utiliser, quelles cryptomonnaies acheter, etc.)















