Chargement...

Comment le passage de zkEVM à zkVM a amélioré l'évolutivité de la blockchain

blockchain a parcouru un long chemin depuis la création du Bitcoin il y a plus de dix ans. Si les premiers réseaux blockchain étaient révolutionnaires dans leur approche décentralisée, ils étaient confrontés à des défis importants, notamment en termes d’évolutivité. Alors que les applications et les cas d’utilisation de la blockchain continuent de se développer, trouver des solutions aux problèmes d’évolutivité est devenu une priorité absolue.

L’une des avancées 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 l’évolutivité de la blockchain. Dans cet article, nous allons plonger dans le monde de zkEVM, explorer ses limites et comprendre comment l'évolution vers zkVM devrait apporter des améliorations substantielles à l'évolutivité de la blockchain.

La montée des preuves de connaissances nulles (ZKP)

Les preuves sans connaissance jouent un rôle central dans la protection de la vie privée des utilisateurs sur Internet, d'autant plus que nous nous efforçons d'assurer une adoption généralisée de la blockchain. Ils promettent également de résoudre les défis informatiques. Il existe actuellement deux méthodes principales pour y parvenir : les zkEVM et les zkVM. Dans cette exploration, nous examinerons les deux approches, en pesant leurs avantages et leurs inconvénients. Cependant, avant de plonger dans cette analyse, il est essentiel de comprendre ce que nous optimisons et pourquoi la confidentialité revêt une telle importance.

Dans le domaine de l’évolution cryptographique, tout comme son homologue biologique, le développement des traits est guidé par l’objectif d’optimisation pour des résultats spécifiques. Bitcoin , par exemple, a donné la priorité à la sécurité avant tout, reconnaissant que la monnaie numérique décentralisée devait être sans équivoque sécurisée avant de pouvoir être acceptée et adoptée à grande échelle. Ethereum a suivi une voie similaire, en mettant l’accent sur la sécurité tout en introduisant une couche supplémentaire : la programmabilité offerte par les trac intelligents.

Ces itérations de l’évolution cryptographique ont tendance à s’appuyer les unes sur les autres, chacune apportant son ensemble unique de compromis. Dans le cas d' Ethereum , chaque nœud doit réexécuter chaque transaction, ce qui présente de formidables défis informatiques qui entraînent des frais de gaz élevés et des vitesses de transaction lentes. La décision d'effectuer des calculs directement sur la blockchain a été prise pour renforcer la sécurité et la transparence. Cependant, cela a un prix : des performances et une confidentialité compromises.

Les rollups sont apparus comme une solution pour améliorer l'évolutivité en réduisant les charges de calcul associées à Ethereum . Même s’ils commencent à s’attaquer au problème de performances, ils ne tiennent pas compte des problèmes de confidentialité. Ceci est important car la confidentialité est devenue une condition préalable aux applications visant à élargir leur base d’utilisateurs. Les utilisateurs exigent de plus en plus de contrôle sur leurs données et se méfient des entités qui cherchent à accéder sans restriction à leurs informations.

Les développeurs d’applications ont reconnu cette tendance croissante en faveur de la confidentialité et sa nécessité. Par conséquent, ils ont activement exploré des méthodes pour protéger la vie privée grâce à l’utilisation de preuves sans connaissance (ZKP). Ces protocoles cryptographiques permettent aux utilisateurs ou aux applications de vérifier la véracité d'une déclaration sans divulguer d'informations supplémentaires. Par exemple, les ZKP peuvent confirmer qu’un utilisateur a plus de 18 ans sans divulguer son âge ni sa date de naissance exacts.

Comme le souligne le rapport State of Crypto 2023 d'a16z, l'adoption de la technologie ZK-proof par les développeurs est sur le point de croître encore. Cette tendance est motivée par une augmentation des publications universitaires et un nombre croissant de transactions quotidiennes impliquant la vérification des preuves ZK sur le réseau Ethereum . L’élan derrière les ZKP démontre leur importance croissante dans la quête d’un équilibre entre confidentialité, sécurité et évolutivité dans l’espace blockchain.

Comprendre zkVM

Le premier aspect à defi est le suivant : qu'est-ce qui constitue une machine virtuelle (VM) ? En un mot, 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), en particulier, sert de machine virtuelle responsable de l’exécution des trac intelligents Ethereum . La compilation originale des instructions prises en charge et de leurs comportements respectifs a été décrite en 2014 dans le document jaune fondateur, qui se distingue non seulement par son importance mais également par sa couleur jaune distinctive, rédigé par Gavin Wood. Le document maintient un état de mises à jour continues, visant à refléter la gamme actuelle d'instructions prises en charge.

Une machine virtuelle sans connaissance (zk VM), en revanche, est essentiellement une machine virtuelle implémentée sous forme de circuit au sein d'un système de preuve sans connaissance (zkp). Cela le distingue des systèmes zkp conventionnels qui se concentrent principalement sur la preuve de l'exécution du programme. Dans les zkVM, l'accent est désormais mis sur la vérification de l'exécution d'une machine virtuelle elle-même. Par conséquent, certains individus font une distinction, catégorisant les zkps non-VM dans le cadre de l'approche FPGA (Field-Programmable Gate Array), tout en considérant les zkVM comme des constituants de l'approche CPU (Central Processing Unit).

Dans les systèmes zkp, les programmes ou circuits sont des entités immuables, tout comme les binaires compilés à partir de programmes spécifiques. Par conséquent, un circuit zkVM incarne effectivement un nombre prédéterminé d'itérations pour la boucle, ce qui peut être assimilé au déroulement de la boucle. Essentiellement, un zkVM est un circuit conçu pour exécuter une machine virtuelle. Les instructions du programme réel peuvent être introduites en tant que contribution publique à ce circuit, permettant une transparence totale concernant le programme en cours de vérification. (Différentes méthodes existent pour transmettre les instructions du programme à la VM si l'on souhaite explorer d'autres alternatives.)

Plusieurs projets zkVM ont vu le jour, avec au moins trois efforts remarquables :

  1. Le Caire : Utilisé par Starknet, ce projet se distingue par son papier soigné, considéré comme une œuvre d'art. Une implémentation expérimentale connue sous le nom de « turshi » est également présentée dans le framework Kimchi.
  2. Miden : Projet en cours au sein de l'écosystème Polygon, Miden est actuellement en cours de développement.
  3. Risczero : Autre initiative en cours, 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 héberge des jeux d'instructions distincts, les rendant non interopérables les uns avec les autres.

Types de zkVM

Le domaine des VM zk peut être classé en deux types distincts :

  1. Machines virtuelles optimisées pour zk : des exemples notables incluent Cairo et Miden. Ces machines virtuelles sont méticuleusement conçues pour donner la priorité à l’efficacité, ce qui les rend nettement plus rapides. Leur objectif principal est de faciliter une intégration transparente avec les systèmes de preuve sans connaissance (zkp), rationalisant ainsi le processus de vérification.
  2. Machines virtuelles du monde réel : cette catégorie englobe des machines virtuelles comme RiscZero, qui prend en charge le jeu d'instructions RISC-V, et divers zkEVM adaptés à la machine virtuelle Ethereum (EVM). Les machines virtuelles du monde réel sont destinées à assurer la compatibilité avec les jeux d’instructions et les écosystèmes établis au-delà du domaine des preuves sans connaissance.

La motivation derrière le soutien à l’EVM peut être attribuée à plusieurs raisons impérieuses. Premièrement, pour Ethereum lui-même, cela permet la création de preuves englobant l’ensemble de la transition d’état, de l’état de genèse au dernier état Ethereum . Cette capacité est illustrée par des projets comme Mina.

Deuxièmement, pour les projets non Ethereum , l’adoption de la compatibilité EVM offre l’avantage d’intégrer de manière transparente des projets et des applications de l’écosystème Ethereum , comme Uniswap. Cela facilite non seulement l’interopérabilité, mais présente également une opportunité d’ trac les développeurs de la communauté Ethereum vers de nouveaux projets.

Mécanisme de zkVM

ZkVM, issu de nos travaux antérieurs sur TxVM et influencé par les conceptions Bitcoin et Ethereum , introduit un nouveau format de transaction. Dans ZkVM, une transaction est représentée comme un programme qui manipule directement le flux d'actifs en tant qu'objets de première classe, mettant à jour l'état de la blockchain via un journal des transactions. Cette séparation entre l'application de journal de transactions et la validation permet une conception hautement évolutive tout en fournissant un environnement robuste pour les trac personnalisés.

Pour améliorer l'évolutivité de la blockchain et permettre des transferts de valeurs dent , 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és efficacement en tant que racines Merkle à l'aide du schéma Utreexo, ce qui réduit considérablement les besoins de stockage et facilite un déploiement plus large de nœuds entièrement validés.

Dans ZkVM, chaque sortie est un trac stocké dans l'état 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 conception basée sur Taproot, permettant de déverrouiller les trac soit via des signatures cryptographiques, soit en exécutant un sous-programme intégré qui vérifie les conditions personnalisées.

Les trac dans ZkVM servent de blocs de construction polyvalents pour des protocoles de niveau supérieur tels que les comptes, les carnets de commandes et les canaux de paiement. Cette flexibilité permet à des plates-formes comme Stellar d'éloigner les choix de conception de protocoles de la couche critique du consensus, favorisant ainsi l'expérimentation d'un large éventail d'applications décentralisées.

Concernant la dent , ZkVM trouve un équilibre en utilisant le schéma Taproot dans les prédicats. La logique trac n’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 logique trac doit être divulguée, les données telles que les soldes et les paramètres du trac restent dent grâce à un système de contraintes vérifiées sans connaissance.

ZkVM exploite le système de preuve sans connaissance de Bulletproofs, cryptant les valeurs et les données par défaut conformément aux engagements de Pedersen. Les utilisateurs peuvent spécifier des expressions arithmétiques et logiques sur des valeurs secrètes, qui sont matic transformées en un système de contraintes Bulletproofs. Les transactions sont compactes et efficaces, avec de petites transactions allant de 1 à 1,5 Ko et des paiements agrégés entraînant un coût marginal de seulement 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 donner la priorité à la sécurité sans compromettre le cryptage des données, garantissant ainsi que les données sont révélées uniquement aux parties autorisées en cas de besoin. De plus, le framework Bulletproofs élimine le besoin d'une configuration fiable, permettant la création de nouveaux protocoles sur ZkVM sans nécessiter de mises à niveau à l'échelle du réseau pour chaque fonctionnalité.

La nécessité de passer de zkEVM à zkVM

Limites de zkEVM

Bien que zkEVM ait introduit des améliorations significatives, il présentait encore certaines limitations qui entravaient son potentiel d'évolutivité :

  1. Compatibilité limitée : zkEVM a été principalement conçu pour le réseau Ethereum . Cela signifiait que d’autres plates-formes blockchain ne pouvaient pas facilement adopter la technologie, limitant ainsi son impact plus large sur l’écosystème blockchain.
  2. Complexité : la mise en œuvre de zkEVM nécessitait une compréhension approfondie des preuves sans connaissance et de la cryptographie. Cette complexité a rendu difficile pour les développeurs d'incorporer zkEVM dans leurs projets, limitant encore davantage son adoption.
  3. Défis de stockage et de données : zkEVM n’a pas résolu efficacement le problème du stockage des données sur la blockchain. Les besoins importants en matière de stockage de données restaient un goulot d'étranglement pour l'évolutivité.

La transition vers zkVM : une avancée en matière d'évolutivité

Consciente des limites de zkEVM, la communauté blockchain s'est lancée dans le développement d'une solution plus polyvalente et évolutive, menant à la naissance de zkVM, ou Zero-Knowledge Virtual Machine.

zkVM s'appuie sur les principes fondamentaux de zkEVM tout en comblant ses lacunes. Explorons comment zkVM est sur le point de révolutionner l'évolutivité de la blockchain :

  1. Compatibilité multiplateforme : contrairement à zkEVM, zkVM est conçu pour être indépendant de la blockchain. Cela signifie qu'il peut être intégré à divers réseaux blockchain, sans se limiter à Ethereum . Cette compatibilité plus large ouvre la porte à zkVM pour avoir un impact plus significatif sur l’ensemble de l’écosystème blockchain.
  2. Expérience utilisateur améliorée : zkVM vise à simplifier le processus de mise en œuvre pour les développeurs. En proposant des outils et des interfaces conviviaux, zkVM permet aux développeurs d'exploiter plus facilement la puissance des preuves sans connaissance, réduisant ainsi les barrières à l'entrée.
  3. Gestion améliorée des données : zkVM répond plus efficacement au problème du stockage des données. Il introduit des techniques innovantes de compression et de stockage des données, réduisant ainsi les besoins 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.
  4. 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. Cela conduit à des temps de traitement des transactions plus rapides, à des frais réduits et à des performances globales améliorées.

Pour quoi optimisons-nous ?

Lockheed Martin s'est lancé dans la tâche ambitieuse de créer le F-35, le considérant comme un avion de combat polyvalent capable de remplacer les chasseurs air-air et air-sol spécialisés. Cependant, ce projet a rencontré des revers importants, accusant un retard d'une décennie par rapport au calendrier prévu et gagnant la réputation parmi les experts de l'industrie comme l'un des avions de combat les moins performants jamais produits.

Le principal point à retenir de cette expérience est que lorsqu’un système est conçu dans un but spécifique, il excelle souvent dans l’accomplissement de ce rôle particulier par rapport à une solution tentant d’optimiser plusieurs objectifs simultanément.

Faisant un parallèle avec le domaine de la blockchain, Ethereum a été initialement conçu comme une plateforme entièrement publique et transparente. Si l’on s’efforce d’introduire des fonctionnalités de confidentialité dans une telle blockchain, il est peu probable qu’elle atteigne le même niveau de performance qu’un système conçu avec la confidentialité comme principe fondamental dès sa création. Cela présente des défis d'ingénierie, car les développeurs doivent adapter des programmes qui n'étaient pas initialement destinés à fonctionner dans ce contexte, conduisant à la création de circuits complexes et peu maniables.

Cependant, l’approche alternative implique le développement d’une couche d’application spécialement conçue pour la confidentialité. Cette approche permet d’optimiser les fonctionnalités liées à la confidentialité tout en bénéficiant des avantages offerts par les preuves à connaissance nulle, un sujet que nous aborderons dans la section suivante.

Applications réelles de zkVM et zkEVM

zkEVM et zkVM trouvent tous deux des applications dans divers domaines, promettant de remodeler les industries et les cas d'utilisation de la blockchain :

  • DeFi Revolution : les plates-formes de finance décentralisée ( DeFi ) peuvent exploiter 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 trac les chaînes d'approvisionnement sont possibles avec 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 marchés 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 l'évolutivité de la blockchain

À mesure que zkVM gagne trac terrain dans l’espace blockchain, il a le potentiel de résoudre les problèmes d’évolutivité de longue date qui ont limité l’adoption et la croissance de la blockchain. Cependant, comme toute technologie émergente, il y a des défis à surmonter et des considérations à garder à l’esprit :

  1. Obstacles à l'adoption : Même si la compatibilité de zkVM avec diverses blockchains constitue un avantage significatif, son adoption généralisée dépendra toujours de la volonté des projets blockchain d'intégrer cette technologie dans leurs réseaux.
  2. Problèmes de sécurité : les preuves sans connaissance introduisent des techniques cryptographiques complexes, et toute vulnérabilité pourrait présenter des risques de sécurité importants. L'audit continu et l'amélioration des implémentations de zkVM sont essentiels pour maintenir la confiance des utilisateurs.
  3. Paysage réglementaire : à mesure que la technologie blockchain évolue, elle continuera à faire l’objet d’un examen réglementaire. Il reste à voir comment les régulateurs traiteront les preuves sans connaissance et leurs applications, ce qui pourrait avoir un impact sur l'adoption future de zkVM.

Conclusion

Le passage de zkEVM à zkVM représente une avancée significative dans la résolution des défis d’évolutivité de la blockchain. Alors que zkEVM a jeté les bases, zkVM offre une solution plus polyvalente et évolutive qui a le potentiel de révolutionner la façon dont la technologie blockchain est utilisée dans divers secteurs.

La transition vers zkVM n'est pas sans défis, mais les avantages qu'elle apporte en termes de compatibilité multiplateforme, de convivialité, de gestion des données et de vitesse de traitement des transactions en font une avancée convaincante dans l'espace blockchain. À mesure que zkVM continue d’évoluer et de trouver sa place dans les écosystèmes blockchain, nous pouvons nous attendre à voir des applications blockchain plus évolutives et efficaces qui ont le potentiel de transformer les industries et d’améliorer la vie des personnes partout dans le monde.

FAQ

Qu'est-ce que zkEVM et pourquoi était-il insuffisant pour l'évolutivité de la blockchain ?

zkEVM signifie Zero-Knowledge Ethereum Virtual Machine. Son évolutivité était limitée car elle se concentrait principalement sur Ethereum , manquait de compatibilité entre les chaînes de blocs et ne traitait pas efficacement du stockage des données et de 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 plusieurs chaînes de blocs qui s'appuie sur zkEVM. Il simplifie le développement, améliore la gestion des données et offre un traitement des transactions plus rapide par rapport à zkEVM.

Comment zkVM améliore-t-il l'expérience utilisateur pour les développeurs de blockchain ?

zkVM simplifie le développement en fournissant des outils et des interfaces conviviaux, réduisant la complexité de mise en œuvre de preuves sans connaissance et permettant aux développeurs d'exploiter plus facilement cette technologie.

Quelles sont les applications réelles de zkVM et zkEVM dans les écosystèmes blockchain ?

zkVM et zkEVM trouvent tous deux des applications dans DeFi , la chaîne d'approvisionnement, la sécurité des données de santé, les jeux, les NFT, etc., offrant une vitesse de transaction, une sécurité des données et une confidentialité améliorées.

À quels défis zkVM est-il confronté lors de son adoption et de son développement futur ?

Les défis consistent notamment à obtenir une adoption généralisée parmi les projets de blockchain, à garantir la sécurité des techniques cryptographiques complexes et à surmonter les obstacles réglementaires potentiels à mesure que la technologie évolue.

Clause de non-responsabilité. Les informations fournies ne sont pas des conseils commerciaux. Cryptopolitan.com décline toute responsabilité pour les investissements effectués sur la base des informations fournies sur cette page. Nous tron vivement dent recherches indépendantes et/ou de consulter un professionnel qualifié avant de prendre toute décision d'investissement.

Lien de partage:

Shayan Chowdhury

Shayan est un journaliste crypto professionnel avec plus de 4 ans d'expérience, spécialisé dans les modules cryptographiques et le développement de blockchain. Il fournit un contenu cryptographique facile à comprendre grâce à des recherches approfondies et des informations techniques.

Les plus lus

Chargement des articles les plus lus...

Restez au courant de l'actualité crypto, recevez des mises à jour quotidiennes dans votre boîte de réception

Nouvelles connexes

cryptopolite
Abonnez-vous à CryptoPolitan