La blockchain Ethereum est pionnière dans l’implémentation des smart contracts et des applications décentralisées, et ce depuis 2015. Reconnue pour sa sécurité et sa décentralisation comparée aux autres solutions, Ethereum est souvent décrite comme une des meilleures blockchains. Or, celle-ci souffre aujourd’hui de grands problèmes de scalabilité à cause de la forte demande, résultant en des prix élevés, ce qui limite son adoption à grande échelle.
Voilà le trillème des blockchains : une blockchain ne peut être à la fois sécurisée et décentralisée sans subir des frais de transaction élevés (des fois surpassant les centaines de $ par transactions !). Dans cet article, nous vous expliquons comme Polygon vise à remédier à cet écueil.
Afin de surmonter ces obstacles, les développeurs d’Ethereum ont proposé une roadmap innovante pour baisser les frais de transactions, notamment avec le passage à Ethereum 2.0 et prochainement le sharding. Une des nombreuses solutions proposées par les développeurs est de se baser sur des solutions de seconde couche appelées “Layer2” pour les transactions à faible valeur que la blockchain Ethereum peut sécuriser en un deuxième temps. L’une des solutions les plus prometteuses actuellement en cours de développement est Polygon zkEVM.
En tirant parti des preuves à connaissance nulle (“Zero-Knowldege Proof, ZKP) et en s’appuyant sur l’Ethereum Virtual Machine (EVM), Polygon zkEVM vise à fournir une scalabilité accrue tout en maintenant une compatibilité étroite avec les smart-contracts existants sur Ethereum. À travers cet article, je vous propose d’explorer en profondeur cette technologie révolutionnaire et vous montrer comment en tirer parti.
Qu’est-ce qu’un Layer 2 ?
Un Layer 2, ou solution de seconde couche, est une technologie qui est construite au-dessus d’une blockchain existante – en l’occurrence, Ethereum – pour améliorer sa scalabilité.
En effet : la quantité de gas dépensée sur Ethereum, directement liée aux frais de transactions, provient de deux facteurs
- La quantité de donnée qu’il faut stocker sur la chaîne,
- La complexité de la transaction, c’est à dire la puissance de calcul demandée.
Afin de réduire les frais sur Ethereum, les Layer2 permettent de réaliser tous les calculs sur une deuxième couche, spécialisée dans ce type de calculs et de publier les résultats des calculs sur la chaîne principale.
Les coûts sont alors réduits car il faut simplement payer la quantité de data publiée sur la chaîne principale et payer la puissance de calcul du L2. Or comme nous l’avons vu, les coûts sont donc bien plus bas car la puissance de calcul du L2 est spécialisée. Avec le même raisonnement, on entend de même que les transactions sont donc plus rapides.
De même, la nécessité d’une telle solution découle des limitations inhérentes à la conception de la plupart des blockchains, qui requièrent un consensus de tous les participants pour chaque transaction. Le processus lent et coûteux, en particulier lorsque le nombre de participants et de transactions est important. Les Layer 2 résolvent ce problème en déplaçant une partie du traitement hors de la chaîne principale, ce qui permet d’accélérer le processus et de réduire les coûts.
Il existe plusieurs types de solutions Layer2, chacune avec ses propres avantages et inconvénients. Les rollups, par exemple, regroupent plusieurs transactions en une seule, réduisant ainsi la quantité de données à traiter sur la chaîne principale. Les sidechains, en revanche, sont des chaînes séparées qui fonctionnent en parallèle avec la chaîne principale et peuvent traiter leurs propres transactions sans confirmer avec la chaîne principale.
Qu’est-ce que l’EVM?
L’Ethereum Virtual Machine (EVM) est le moteur d’exécution au cœur du réseau Ethereum. Elle permet l’exécution de smart contracts, qui sont des programmes auto-exécutables codés dans des langages tels que Solidity ou Vyper. Ces contrats intelligents sont au cœur de la plupart des applications décentralisées (dApps) sur Ethereum, et leur permettent de fonctionner de manière transparente et automatique.
Lorsqu’un développeur code son application décentralisée, il écrit le smart contract en Solidity ou Vyper. Par la suite, son travail est compilé en “bytecode” qui va être interprété par l’EVM pour exécuter les actions décrites par le développeur. De ce fait, les blockchains compatibles EVM, comme Arbitrum, BNB Chain ou Avalanche, interprètent le code de la même manière ce qui permet aux développeurs d’avoir le même code sur ces différentes blockchains.
L’EVM est conçue pour être complètement isolée du reste du réseau, ce qui signifie qu’elle fonctionne dans un environnement sécurisé et ne peut pas interférer avec d’autres processus, garantissant que les contrats intelligents sont exécutés exactement comme prévu, sans aucune possibilité de fraude ou de censure.
Qu’est-ce que le “Zero-Knowledge Proof”?
Le Zero-Knowledge Proof (ZKP) est un concept cryptographique qui permet à une partie (le prouveur) de prouver à une autre partie (le vérificateur) qu’elle connaît une certaine information sans la révéler. Cela permet à la fois d’assurer la confidentialité des informations tout en garantissant leur exactitude.
Dans le contexte de la blockchain, les ZKP sont particulièrement utiles pour améliorer la vie privée des utilisateurs. Par exemple, un utilisateur peut prouver qu’il possède suffisamment de fonds pour effectuer une transaction sans révéler le montant exact de ses fonds. De même, il peut prouver que la transaction est valide sans révéler les détails de la transaction elle-même. Plusieurs protocoles comme sismo abordent la question des ZKP afin de garantir la vie privée des utilisateurs d’une chain publique.
Les ZKP offrent également un moyen de réaliser des transactions de manière plus efficiente. Plutôt que de vérifier chaque transaction individuellement, on peut vérifier une preuve qui atteste de la validité de plusieurs transactions à la fois (le lightning network de Bitcoin fonctionne similairement à ce principe). Cette technologie permet d’augmenter le débit des transactions, ce qui est particulièrement utile dans le contexte d’une solution Layer 2 comme Polygon zkEVM.
Exemple de “Zero-Knowledge Proof”
L’un des exemples classiques de Zero-Knowledge Proof est le problème des deux boules de couleur. Imaginez que vous ayez deux boules, l’une rouge et l’autre bleue, et que vous vouliez prouver à votre ami daltonien Bob que les boules sont de couleurs différentes. Comment prouver à Bob, qui pense que les deux boules sont de la même couleur, qu’elles sont en effet bien différentes ?
Pour ce faire, vous pouvez utiliser le protocole suivant:
- Vous donnez à Bob les deux boules de couleur différente. On rappelle que pour Bob, ces deux boules sont de la même couleur.
- Vous lui demandez ensuite de mettre les deux boules derrière son dos et de vous montrer une boule. Vous allez vous souvenir de la couleur.
- Vous proposez alors à Bob de mélanger les deux boules dans son dos. Il peut choisir de vous redonner la première boule ou une différente.
- Si Bob choisit de vous redonner la même boule, vous êtes en état de lui affirmer par la couleur que c’est la même, et si Bob choisit de vous donner la boule différente alors vous pourrez aussi affirmer qu’il a échangé les boules.
Ce raisonnement est une preuve Zero Knowledge : vous avez prouvé que les boules sont de couleurs différentes sans même devoir révéler leur couleur !
L’architecture de Polygon ZKEVM
L’architecture de Polygon zkEVM est fondée sur trois composants clés : le séquenceur de confiance (Trusted Sequencer), l’agrégateur de confiance (Trusted Aggregator) et le contrat de consensus (Consensus Contract).
Le séquenceur de confiance est au cœur de l’architecture de Polygon zkEVM. Sa tâche principale est de générer et de publier des preuves de changement d’état. C’est-à-dire simplement qu’il s’assure que chaque transaction est bien autorisée et valide. Ce processus est soutenu par un réseau d’agrégateurs de transactions de confiance, qui aident à traiter et à valider les transactions. Pour comprendre leur rôle, il faut imaginer une série de transactions présentées en lots : le séquenceur de confiance récupère ces lots, génère des preuves de leur véracité, puis les publie. Le séquenceur permet donc de faire des calculs complexes peu coûteux et de publier une preuve de leur véracité sur la chaîne L2.
Par la suite, l’agrégateur de confiance récupère les lots L2 du séquenceur de confiance et génère des preuves à connaissance nulle (zk-proofs) attestant de la validité de l’intégrité des lots. C’est à dire qu’il va transmettre au L1 (ici Ethereum) une preuve irréfutable que l’état de la chaîne L2 a changé, sans devoir expliquer précisément chaque transaction. Ce mécanisme permet de stocker moins d’informations sur la chaîne L1 tout en ayant une preuve irréfutable de la véracité de la donnée.
Le contrat de consensus sert d’arbitre final de la vérité, garantissant que toutes les transitions d’état sont valides et que le système reste sûr et digne de confiance. C’est un pont entre le L1 et le L2 qui assure que les données de l’Agrégateur et de Séquenceur sont bien compatibles. Ce contrat de consensus réside sur Ethereum (L1) et joue un rôle majeur dans l’assurance que Polygon zkEVM utilise la sécurité d’Ethereum.
L’architecture de Polygon zkEVM est ainsi conçue pour optimiser la scalabilité tout en assurant une sécurité maximale. En effet, cette dernière peut hypothétiquement mettre la décentralisation de côté : dans le cas où la chaîne zkEVM aurait une transaction non autorisée ou serait modifiée, le contrat de consensus remarquerait une différence entre L1 et L2, arrêtant instantanément la chaîne.
En outre, l’architecture de Polygon zkEVM prévoit une interopérabilité avec d’autres blockchains grâce à un pont (bridge) qui permet la communication et le transfert d’actifs entre la blockchain Ethereum principale et Polygon ZKEVM. Le bridge suit un processus de verrouillage d’un token sur la blockchain d’origine et de création d’une version du token sur la blockchain de destination.
Quelles sont les différences entre Polygon ZKEVM et Polygon PoS?
Polygon zkEVM et Polygon PoS sont deux solutions de choix, conçues pour améliorer l’efficacité du réseau en permettant un plus grand nombre de transactions tout en réduisant les coûts. Cependant, elles diffèrent grandement dans leur architecture !
L’architecture de Polygon PoS repose principalement sur un consensus de preuve d’enjeu (PoS). Dans cette structure, un ensemble de validateurs participe au mécanisme PoS pour valider et confirmer les transactions sur la sidechain. Cette approche crée une blockchain parallèle à la mainnet Ethereum pour le traitement des transactions, ce qui permet d’augmenter le débit des transactions tout en préservant l’intégrité et la sécurité du réseau. Cependant, bien que la sidechain de Polygon PoS offre une belle scalabilité, sa décentralisation reste limitée à 100 validateurs en raison de l’architecture complexe de la chain, là où Polygon ZKEVM permet à n’importe quel acteur de devenir Séquenceur !
Plus encore, Polygon zkEVM vise à atteindre l’équivalence EVM, c’est-à-dire qu’il cherche à reproduire l’environnement d’exécution d’Ethereum avec une plus grande fidélité que la simple compatibilité. Cette approche permet aux contrats intelligents existants d’être déployés et exécutés sur Polygon zkEVM sans aucune modification. Cela élimine le besoin pour les développeurs de changer de langages ou d’outils, et garantit une transition sans heurts lors du déploiement de leurs contrats intelligents sur ce rollup équivalent à EVM.
En termes de sécurité, Polygon PoS repose sur ses validateurs PoS pour sécuriser la sidechain, qui fonctionne indépendamment d’Ethereum. Polygon zkEVM, en revanche, hérite de la sécurité de la mainnet Ethereum en publiant des preuves de validité en chaîne. Cela assure l’exactitude et la sécurité des calculs off-chain.
Enfin, en ce qui concerne la finalité des transactions, la sidechain de Polygon zkEVM offre des transactions plus rapides et moins coûteuses.
Y aura-t-il un token pour Polygon ZKEVM ?
Pour le moment, il n’y a eu aucune annonce officielle pour un token spécifique à Polygon zkEVM. Il est probable que le token MATIC, qui est actuellement utilisé sur la side-chain Polygon, continuera à être utilisé sur Polygon zkEVM.
Cependant, la spéculation monte depuis plusieurs semaines : pour cause, l’un des développeurs principal de Polygon ZKEVM a annoncé dans un tweet qu’il n’y a aucune raison qu’il n’y ai pas d’airdrop sur Polygon ZKEVM. Peut-être que certaines spécificités techniques aux ZKP nécessitent un token avec un fonctionnement spécial. De plus, nous rappelons que Polygon Labs, la société derrière le développement de Polygon a levé plus de 200 millions $ dernièrement, ce qui est dans la DeFi souvent annonciateur de tokens. Cela dépendra des détails spécifiques de l’implémentation de Polygon zkEVM et de la décision des développeurs et de la communauté.
Conclusion
Ethereum a été pionnière dans l’implémentation des smart contracts et des applications décentralisées, mais elle souffre actuellement de problèmes de scalabilité qui limitent son adoption à grande échelle. Polygon zkEVM se présente comme une solution prometteuse pour résoudre ces problèmes en offrant une scalabilité accrue tout en maintenant une compatibilité étroite avec les contrats intelligents existants sur Ethereum.
En utilisant des preuves à connaissance nulle (ZKP) et en s’appuyant sur l’Ethereum Virtual Machine (EVM), Polygon zkEVM permet de réaliser des transactions à faible volume de manière plus rapide et économique, grâce à son approche de Layer 2. En déplaçant une partie du traitement hors de la chaîne principale, Polygon zkEVM réduit les frais de transaction et accélère le processus, offrant ainsi une meilleure expérience utilisateur. L’architecture de Polygon zkEVM, avec son séquenceur de confiance, son agrégateur de confiance et son contrat de consensus, garantit la sécurité et l’intégrité des transactions, tout en assurant une interopérabilité avec d’autres blockchains grâce à un pont.
Bien que la question d’un éventuel token spécifique à Polygon zkEVM reste à déterminer, son potentiel pour améliorer la performance d’Ethereum et faciliter une adoption à grande échelle est indéniable. Il sera intéressant de suivre son développement et son intégration dans l’écosystème Ethereum dans les mois à venir.
Foire aux Questions
Quels sont les problèmes d’Ethereum ?
Qu’est-ce qu’un Layer 2 ?
Qu’est-ce que Polygon zkEVM ?
Comment Polygon zkEVM assure-t-il la sécurité des transactions ?
Comment Polygon zkEVM assure-t-il l’interopérabilité avec d’autres blockchains ?
Quelles sont les différences entre Polygon zkEVM et Polygon PoS ?
Y aura-t-il un token spécifique à Polygon zkEVM ?
À propos de l’auteur
Oscar Mairey explore la blockchain et ses cas d’usages depuis 2021, en se spécialisant aujourd’hui sur les réseaux sociaux crypto à travers ko où il occupe les fonctions de CMO.
Avis de non-responsabilité
Avis de non-responsabilité : Conformément aux directives de The Trust Project, le contenu éducatif de ce site est proposé de bonne foi et à des fins d'information générale uniquement. BeInCrypto a pour priorité de fournir des informations de haute qualité, en consacrant du temps à la recherche et à la création d'un contenu informatif pour les lecteurs. Bien que des partenaires puissent récompenser l'entreprise avec des commissions pour des placements dans les articles, ces commissions n'influencent pas le processus de création de contenu impartial, honnête et utile. Toute action entreprise par le lecteur sur la base de ces informations se fait strictement à ses propres risques.