Ceci est une traduction de l’article de Dimitar Bogdanov par Daniel Ichbiah. Merci à eux pour leur travail!
Il est clair que Ethereum constitue le projet de blockchain qui a eu le plus grand impact à ce jour, et aussi celui qui a le plus contribué au développement et à l’évolution des applications distribuées. Certains irréductibles du Bitcoin s’évertueront à rappeler que c’est avec cette monnaie originelle que tout a démarré. Oui mais… Sans Ethereum, nous n’aurions pas eu les ICOs, la DeFi et le récent boom des NFTs. Toutes les tendances majeures de ces dernières années en matière de blockchain comme de crypto ont été initialement propulsées par Ethereum. Qui plus est, la vaste majorité des tokens ont démarré leur existence sur l’écosystème Ethereum. Donc, nul ne nous en voudra d’affirmer que durant plusieurs années, Ethereum a façonné l’univers de la crypto et de la blockchain.
Un fait demeure : le succès d’Ethereum a démontré une fois de plus qu’il fallait résoudre les problèmes de scalabilité des cryptomonnaies. La chose est particulièrement vraie pour Ethereum de par sa capacité à exécuter des applications décentralisées (dApps) basées sur des smart contracts.
Nous savons qu’une solution au problème du passage à une plus grande échelle pourrait consister à rendre le système plus centralisé. C’est l’approche prise par la Binance Smart Chain et il est certain qu’elle a été efficace en terme de revenus, d’activité comme de la multiplication de comptes. Toutefois, le véritable challenge consiste à préserver le facteur unique de la blockchain Ethereum – son caractère décentralisé – tout en améliorant la scalabilité. C’est ce que les solutions de 2eme Couche (Layer 2) tentent d’accomplir (note du traducteur: nous utiliserons L2 dans cet article)
Il existe plusieurs type de solutions de L2 :
- Les state channels (des transactions multiples hors de la blockchain, à la façon de Lightning Network pour le Bitcoin)
- Plasma qui là encore cherche à délester la charge de la chaîne principale vers des chaînes dites ‘enfants’
- Les sidechains (une blockchain séparée de la blockchain principale)
- Et enfin les rollups
Dans ce papier, nous nous concentrons sur les rollups et passons en revue les projets les plus prometteurs en la matière.
Deux saveurs pour les Rollups
Les rollups sont l’une des catégories les plus prometteuses en matière de solutions de L2. Ils déplacent les calculs de transactions hors de la chaîne principale, puis stockent les données de transactions dans celle-ci. Ainsi donc, les rollups sont sécurisés par la L1.
Tout cela est accompli via des smart contracts dont la fonction principale est de regrouper les données de transaction et de les mouvoir hors de la chaîne, le temps de les traiter. Les données sont gérées par des participants au réseau que l’on appelle des « séquenceurs » ou des « validateurs ». Eux-mêmes soumettent en retour à la chaîne principale des lots de données de transaction soumises à une forte compression. Ces lots contiennent les informations minimales nécessaires pour vérifier que les transactions sont valides.
Dans la mesure où les rollups déplacent le calcul hors de la chaîne principale puis soumettent des données fortement comprimées au réseau Ethereum, ils sont en mesure de produire des améliorations en terme de scalabilité sans créer de problème de disponibilité des données – comme c’est parfois le cas avec d’autres solutions de L2. Certains rollups proposent également l’option d’une disponibilité des données hors de la chaîne principale (aucune donnée n’est postée sur Ethereum) ce qui peut produire des gains sensibles en terme de vitesse de traitement, mais au détriment de la sécurité.
Ce qui distingue les deux types de rollups est la méthode de vérification : on distingue les rollups ZK (zero knowledge) et les rollups optimistes. Les rollups ZK génèrent des preuves cryptographiques qui peuvent être utilisées pour prouver la validité d’une transaction. Chaque lot de transaction a sa propre « preuve de validité » qui est soumise à la chaîne principale.
Les rollups optimistes, pour leur part, assume que toutes les transactions sont valides et soumettent des lots sans effectuer le moindre calcul, ce qui peut amener des améliorations significatives dans la scalabilité. Toutefois, ils incluent une période de contestation durant laquelle quiconque peut réfuter la légitimité des données contenues dans un lot. Si une transaction frauduleuse est détectée, le rollup exécute une « preuve de fraude » puis effectue les calculs corrects en utilisant les données disponible sur la L1. Afin d’inciter les validateurs à ne traiter que des données de transaction légitimes, ils doivent « staker » (immobiliser) de l’ETH. S’ils accomplissent leurs tâches dans les règles de l’art, ils reçoivent des récompenses pour ce staking. En revanche, si validateur soumet une transaction frauduleuse à la chaîne principale d’Ethereum, son stake est annulé.
Rollups optimistes
L’un des plus avantages les plus forts des rollups optimistes vient de ce que, par défaut, ils n’effectuent pas de calcul. Il peut donc en résulter des gains énormes de passage à l’échelle – de 10 à 100 fois selon diverses estimations. Le revers, c’est que la période de contestation évoquée plus haut peut entraîner des retraits beaucoup plus long que dans les rollups ZK.
Autre grand avantage : les rollups optimistes sont en mesure d’exécuter des smart contracts là où les rollups ZK sont pour l’essentiel limités à des transactions simples.
Pour le moment, l’écosystème du rollup optimistes met en concurrence deux projets principaux : Optimism et Arbitrum. Chacun d’entre eux a, jusqu’à présent, marqué des points. Les deux solutions sont très similaires. La différence essentiel réside dans la façon de générer une preuve de fraude. Il existe également des différences concernant leur compatibilité avec EVM (Ethereum Virtual Machine) et les outils Ethereum.
Examinons ces deux projets plus en détail.
Optimism
Le premier protocole rollup optimiste qui s’est imposé comme une solution viable est Optimism. Il devait même être le premier à bénéficier d’un lancement sur le mainnet (réseau principal) et ce, dès mars. Toutefois, en raison de retards sur son développement, Arbitrum l’a coiffé au poteau. Toutefois, l’intérêt pour Optimism est toujours vif. Le fond américain de capital risque Andreessen Horowitz a même investi 25 millions de dollars dans le projet.
Optimism se sert d’un smart contract pour relayer les données de transactions de la chaîne principale Ethereum à un réseau de L2, dans lequel un validateur peut agréger plusieurs transactions en un lot, puis soumettre ce lot à la chaîne principale via une transaction unique. Les validateurs accomplissent ces tâches de façon « optimiste », ce qui signifie qu’ils assument que toutes les transactions sont valides. Et donc, durant une semaine, elles peuvent être contestées. Si une discordance est repérée, le rollup exécute une preuve de fraude et dans ce cas de figure, l’intégralité de la transaction de L2 est exécutée sur la L1, avec pour avantage une génération de preuve ultra-rapide.
Optimism tente de coller au plus près à l’écosystème Ethereum. Il utilise une version modifiée de l’interface de ligne de commande GETH pour la L2, et un compilateur du langage Solidity. Toutefois, il n’est pas compatibles avec d’autres langages EVM que Solidity.
Pour le moment, ce projet ne dispose pas d’un token natif et il se sert de ETH pour les paiements.
Arbitrum
Arbitrum était considéré comme le principal challenger de Optimism, mais à la suite du retard de ce dernier projet, il semble avoir pris la tête du camp des rollups optimistes. Arbitrum a été lancé sur le mainnet Ethereum le 28 mai.
Comme mentionné plus haut, Arbitrum est très similaire à Optimism, avec pour différence principale la génération de la preuve de fraude. Arbitrum, pour sa part, adopte une approche à plusieurs tous, exécutant de petites portions de la transaction sur la L2 jusqu’à détecter une discordance. Il en résulte une capacité de traitement des transactions plus élevée. Le point faible c’est qu’il faut habituellement une semaine pour générer une preuve de fraude – et même jusqu’à 2 semaines dans certaines situations – ce qui est plus long que sur Optimism.
Arbitrum est compatible avec tous les langages EMV : Yul, Vyper, Solidity… Toutefois il utilise un nœud de L2 adapté. Tout comme Optimism, Arbitrum gère les paiements avec ETH.
Rollups ZK
Nous l’avons compris : les rollups optimistes assument que chacun agit de manière honnête. Les rollups ZK, pour leur part, cherchent à s’assurer que c’est bien le cas. Ils déplacent des agrégats de transaction vers la L2 et génèrent une preuve de validité pour chaque agrégat. Ces preuves de validité sont ensuite soumis à la L1 afin de servir de représentants des agrégats correspondants. Il résulte de cette méthode une réduction de taille significative des données, et donc une réduction en temps et en frais de gas pour la validation d’un bloc. Certaines astuces peuvent être employées pour optimiser l’opération. Par exemple, les comptes peuvent apparaître comme des index plutôt que comme des adresses, ce qui réduit fortement la taille des transactions.
Un inconvénient des rollups ZK vient de ce que la génération d’une preuve de validité est une tâche complète et lente. Une autre insuffisance est l’incapacité, déjà évoquée, d’exécuter des smart contracts bien qu’il existe certaines exceptions, évoquées plus bas.
Dans le même temps, les rollups ZK n’ont pas la nécessité d’une période de contestation, car la preuve de validité a déjà vérifiée la légitimité des données de transaction. C’est la raison pour laquelle les rollups ZK autorisent des temps de retrait très rapide. Et donc, quand bien même les rollups ZK ne sont pas appropriés aux applications avancées, ils sont bien adaptés aux exchanges et aux apps impliquant des paiement simples.
Il existe plusieurs projets prometteurs en matière de rollup ZK. Voici quelques uns d’entre eux.
Hermez
Hermez est un développement majeur qui a beaucoup fait parler de lui. Si l’on en croit l’annonce effectuée le 13 août, Hermez fusionne avec Polygon et le deal est estimé à 250 millions de dollars. Cette fusion signifie que Polygon (de loin le projet de scalabilité le plus populaire d’Ethereum bien qu’il s’agisse davantage d’une sidechain qu’un projet de L2), est déjà en train de manifester des capacités de rollup. Nous parlerons plus en détail de Polygon dans un prochain article.
Hermez génère des preuves cryptographiques appelées SNARKs (succinct non interactive argument of knowledge – littéralement : argument de connaissance succinct et non interactif). L’équipe de développement, Iden3, a auparavant œuvré sur des bibliothèques appréciées des programmeurs, Circom & SnarkJS. A en croire Iden 3, Hermez pourrait faire monter Ethereum à 2 000 transactions par seconde.
Pour le traitement de lots et la génération de preuves de validité, le réseau Hermez repose sur des coordinateurs. Ceux-ci sont sélectionnés via un processus d’enchères : les nœuds enregistrés sur le réseau placent des offres en vue de devenir le prochain coordinateur. Le gagnant peut alors traiter autant de lots qu’il lui en est possible, durant un intervalle qui se prolonge sur 40 blocs Ethereum ou à peu près 10 minutes.
Pour le moment, les offres sont réglées en HEZ, le token propriétaire de Hermez. Cette situation va toutefois changer suite au deal avec Polygon : le HEZ va cesser d’exister pour être remplacé par le token Matic de Polygon. Plusieurs apps effectuent d’ores et déjà le transfert des HEZ vers Matic, au taux de 3,5 Matic pour un HEZ.
Récemment, Hermez a lancé une fonction de transaction atomique afin de permettre l’achat de tokens de faible valeur sur le réseau. L’équipe a par ailleurs annoncé qu’elle travaillait sur une zero-knowlege Ethereum Virtual Machine (ZKEVM), afin d’atteindre une pleine compatibilité langage machine. Cela signifie que Polygon-Hermez pourra alors gérer des smart contracts.
ZKSync
Ensuite, nous avons un autre rollup basé sur SNARK. L’équipe à l’origine de ZKSync, Matter Labs, décrit son projet comme un moteur de mise à l’échelle et de protection de la vie privée, permettant des transferts à faible teneur en gas (d’Ether) et de jetons ERC-20 dans le réseau Ethereum. La devise de ZKSync – « Faites confiance aux mathématiques, pas aux validateurs » – semble certainement bien choisie, car il n’existe actuellement qu’un seul validateur qui traite les lots et génère les preuves de validité.
ZKSync prend également en charge les échanges de jetons et le minting de jetons non fongibles (NFT). Au début de l’année, la plateforme a lancé en alpha son ZKEVM, qui permet d’exécuter des smart contracts. ZkSync prend en charge la plupart des opcodes d’Ethereum.
Une grande partie de la vision pour ZKSync 2.0 est une solution de disponibilité des données hors chaîne, appelée ZK Porter. Cette solution est censée compléter le composant rollup de ZKSync 2.0, ce qui signifie que les contrats et les comptes rollups pourront interagir avec les comptes ZKPorter et vice versa. La disponibilité des données hors chaîne dans ZKPorter sera assurée par des « gardiens », qui mettent en jeu (stake) des jetons ZKSync et signent des blocs pour confirmer la disponibilité des données dans les comptes ZKPorter. Avec leurs mises en jeu, les gardiens sont encouragés à s’assurer qu’il n’y a pas de défaillance dans la disponibilité des données. De plus, Matter Labs affirme que la preuve d’enjeu (PoS) du ZKSync est nettement plus sûre que la PoS des autres solutions de mise à l’échelle comme les sidechains, car les gardiens ne peuvent pas voler les fonds.
Loopring
Alors que Hermez travaille à gérer des smart contracts, Loopring se concentre sur les DEX (échangés décentralisés) et applications de paiement. Avec Loopring, n’importe qui peut devenir un opérateur de DEX / AMM (automated market marker), et tirer avantage de sa technologie de rollup ZK pour atteindre un débit élevé avec des frais de gas faibles. Loopring affirme que sa technologie peut atteindre 2,025 par seconde, avec un coût de transaction 100 fois inférieur à celui Ethereum. Les opérateurs des exchanges doivent « staker » (immobiliser) une caution importante dans le token natif du protocole, le LRC.
Le nom Loopring (anneau en boucle), vient de l’une des caractéristiques les plus intéressantes du protocole – les anneaux d’ordres. Il s’agit d’un système de trading circulaire qui peut contenir jusqu’à 16 ordres individuels. Alors qu’habituellement, un ordre d’achat doit correspondre à un ordre de vente opposé, et vice-versa, dans un anneau d’ordres, de telles correspondance ne sont pas nécessaires. Il peut en résulter une meilleure liquidité, une meilleure interaction acheteur / vendeur et d’autres bénéfices.
StarkEX
L’un des aspects les plus intéressants de StarkEX – un protocole de scalabilité et de paiement développé par StarkWare, est qu’il utilise STARKs (succinct transparent arguments of knowledge). A la différence de SNARKs qui nécessite un setup en confiance (ou une cérémonie multi parties), pour produire des clés pré-générées utilisées par la suite pour créer et vérifier les preuves, STARKs utilise une méthode qui supprime le besoin d’un tel setup. Cette méthode dont StarkWare est à l’initiative, continue d’être la force motrice derrière les technologies basées sur STARK. L’innovation clé est le langage de programme Cairo, qui est « Turing complet » (capable d’effectuer n’importe quel calcul). Développé par l’équipe de StarkWare, Cairo autorise la génération de preuves STARK pour des calculs généraux. Le protocole StarkEx est écrit en Cairo.
Autre différence entre ces deux types de rollup ZK, STARKs repose sur des fonctions de hashing, qui amènent certains bénéfices tels que la résistances à une attaque par un ordinateur quantique. SNARKs, pour sa part, repose sur la cryptographie de courbe elliptique.
Le revers est que STARKS a une taille de preuve beaucoup plus importante. Leur vérification est donc plus coûteuse.
Il reste que le protocole StarkEX a déjà été mis en œuvre sur de nombreux projets d’intérêt, ce qui comprend le DEX DeversiFI, mais aussi la plate-forme de minage et de trading Immutable X.
Conclusion
La L2 est amenée à jouer un rôle majeur dans la scalabilité de Ethereum et devrait complémenter avec bonheur Ethereum V2 dans la résolution de ce problème au niveau de la L1.
Comme l’a dit Adreessen Horowitz lors de l’annonce de leur investissement de 25 millions de $ dans Optimism :
« Améliorer la scalabilité de Ethereum est une évidence, étant donné la croissance de ce réseau. Cette question est parfois perçue sous l’angle d’une compétition entre les services Ethereum de L2 et les ‘Ethereum killers’ de la L1. Or, s’il est une leçon que nous avons apprise de l’histoire d’Internet, c’est la suivante. Lorsque vous donnez à des développeurs une nouvelle plate-forme informatique, ils créent des applications à une telle vitesse que la demande surpasse généralement l’offre. Nous pensons que c’est ce qui va se passer avec Ethereum et par conséquent, la réponse à la scalabilité est de prendre en compte toutes les solutions proposées, que ce soit la L1 comme sur la L2 ».
Et pour ce qui est des solutions de L2, les rollups figurent parmi les meilleures et, à certains regards, pourraient même dépasser les alternatives existences. Ce n’est pas par hasard que Vitalik Buterin, le créateur d’Ethereum s’est entiché des rollups et qu’il perçoit comme approprié pour les preuves d’enjeu et le sharding (partitionnement des données) – les deux composants principaux du projet Ethereum 2.0.
Si vous souhaitez en découvrir davantage sur cette technologie prometteuse, il peut être bon de lire en premier lieu le document « An Incomplete Guide to Rollup » rédigé par Vitalik Buterin. Vous pouvez aussi parcourir ce que George Spasov a écrit, à propos des projets de rollup les plus importants, et pourquoi il estime que le deal Polygon-Hermez est un étape majeure pour notre industrie.
A propos du traducteur
Ecrivain et journaliste spécialisé dans les nouvelles technologies, Daniel Ichbiah est l’auteur de plusieurs biographies de personnalités high tech (Steve Jobs, Bill Gates…) et aussi de guides techniques tels que Bitcoin & cryptomonnaies pour les Nuls.