Polygon vs Arbitrum vs Optimism: la course entre les layer 2 d’Ethereum
4 juillet, 2022
12 min
L’écosystème d’Ethereum, après le “DeFi Summer” de 2020, est peuplé d’applications décentralisées (dapp) et d’autres protocoles de smart contracts. Cependant, cette croissance soudaine des services a mis à rude épreuve son réseau, qui est encombré d’un immense nombre de transactions. Comment atteindre l’évolutivité nécessaire ? En utilisant la blockchain et les protocoles de soutien : découvrons ce que sont les layer 2 et leurs caractéristiques. En particulier, nous comparerons Arbitrum et Optimism et comprendrons leurs différences avec Polygon, une sidechain offrant plusieurs solutions d’évolutivité pour Ethereum.
Que sont les layers 2
Le trilemme de l’évolutivité a mis en évidence la relation entre trois propriétés de la blockchain : évolutivité, sécurité et décentralisation. C’est notamment Vitalik Buterin qui a fait valoir que lors de la construction d’un réseau de nœuds, au moins une de ces caractéristiques sera sacrifiée au profit des deux autres. C’est la limite à laquelle tout développeur de blockchain de layer 1 a dû faire face.
Par exemple, le bitcoin est sûr et décentralisé, mais pas évolutif. C’est ainsi qu’est né le Lightning Network (LN), qui administre les échanges hors chaîne et envoie ensuite les résultats au Mainnet de Bitcoin.
Layer 2
Les layer 2 sont des infrastructures, ou de simples protocoles, construites sur une blockchain existante, appelée couche 1. Les layer 2 sont une solution possible au trilemme de l’évolutivité : elles permettent d’augmenter les transactions par seconde et, de manière générale, les performances d’une blockchain. Il existe différents types de layer 2, mais ils traitent généralement les transactions hors chaîne, en envoyant uniquement les résultats de celles-ci ou des formes plus compactes de données à la layer 1.
Cependant, la finance décentralisée (DeFi) ne se limite pas aux échanges p2p : Ethereum a créé le premier grand écosystème d’applications décentralisées (Dapp), basé sur des smart contracts et des langages partagés tels que les normes de tokens. Les utilisateurs interagissent avec ces services précisément par le biais de la blockchain : comment traiter des milliers de demandes simultanément ?
Uniswap, la bourse décentralisée (DEX) et la principale dapp d’Ethereum, a mis en œuvre la V3 de son protocole dans la layer 2, spécifiquement sur Arbitrum, Optimism et Polygon.
Ethereum, en fait, a déjà ses solutions de couche 2, qui peuvent être divisées en quatre grandes catégories : Sidechain, Nested Blockchain (Plasma), Rollup et le State Channel mentionné plus haut. Ces types de layer 2 peuvent également être mis en œuvre simultanément (comme dans Polygon), mais ils ont des caractéristiques différentes. Découvrons donc ce qu’est une sidechain et présentons les types de Rollup, une solution adoptée par Arbitrum et Optimism.
Qu’est-ce que Polygon : bien plus qu’une sidechain
Les sidechains sont en fait des blockchains qui sont aux abords de la layer 1. Elles sont connectées au Mainnet par des bridges bidirectionnels, des smart contracts qui peuvent transporter des informations de la blockchain primaire vers la sidechain et vice versa. Les chaînes latérales, cependant, peuvent avoir des paramètres différents de ceux de la layer 1 : des différences, par exemple, dans le mécanisme de consensus ou la taille des blocs. Cela signifie que la sécurité peut ne pas refléter celle de la blockchain primaire : l’indépendance des chaînes latérales, selon ethereum.org, les éloigne de la définition de la layer 2 ; cependant, l’objectif d’évolutivité les unit.
Polygon est né comme sidechain sous le nom de Matic Network : il se distingue de la layer 2 car il utilise un algorithme de consensus indépendant d’Ethereum. En fait, Polygon utilise un mécanisme Proof-of-Stake pour valider les transactions de manière indépendante, bénéficiant ainsi de frais moins élevés et de transactions plus importantes par seconde (plus de 65 000, contre 15 tps maximum pour Ethereum).
En outre, la chaîne latérale PoS de Polygon bénéficie d’une interopérabilité avec l’écosystème Ethereum : elle interagit avec la machine virtuelle Ethereum (EVM), c’est-à-dire qu’elle peut prendre en charge les smart contracts écrits en Solidity, le langage de programmation d’Ethereum, ainsi que gérer les tokens de norme ERC. En bref, pour résoudre les problèmes d’évolutivité d’une dapp, il suffit de déplacer l’exécution de ses smart contracts vers la sidechain de Polygon.
Polygon fournit également les outils nécessaires au développement d’autres solutions d’extensibilité, qui sont déjà mises en œuvre dans son réseau. Il s’agit des technologies Plasma et Rollup de layer 2, ces dernières étant divisées en deux catégories : le Rollup à connaissance nulle et le Rollup optimiste. Les Rollups sont la solution d’extensibilité adoptée par Arbitrum et Optimism, découvrons ce que sont les Rollups et comment ils fonctionnent.
Qu’est-ce qu’un Rollup : connaissance optimiste ou connaissance zéro ?
Avant de définir les différences entre Arbitrum et Optimism, découvrons le fonctionnement de base des Rollups : les transactions, exécutées hors chaîne, sont regroupées et transférées sur la chaîne principale afin d’être enregistrées de manière immuable. L’action de rassembler de nombreuses transactions dans un seul bloc est reflétée dans le nom “Rollup”, mais ce dernier est généralement accompagné d’une deuxième spécification : Optimism ou Connaissance Zéro.
Les Rollups optimistes (OR) sont la couche fondamentale d’Arbitrum et d’Optimism. En bref, un “agrégateur” collecte les transactions dans un bloc Rollup, qui est ensuite envoyé à un smart contract Ethereum spécifique. Les transactions contenues dans ce bloc ne sont toutefois pas vérifiées, mais simplement enregistrées dans la layer 1, faisant ainsi partie de l’histoire d’Ethereum. En fait, les informations sont supposées être valides a priori, en supposant le bon comportement des agrégateurs, c’est pourquoi la solution d’évolutivité est appelée “optimiste”. Toutefois, il existe neanmoins une mesure de sécurité.
Chaque bloc OR comprend un code appelé “state root”, c’est-à-dire la “racine” de la structure qui lie toutes les informations qu’il contient (arbre de Merkle). Cette racine cryptographique est similaire à un hachage : elle est unique et résume les données auxquelles elle se réfère. Par conséquent, n’importe qui peut fournir la preuve qu’une “racine d’état” n’est pas valide, de sorte que le smart contract de Rollup “réouvre” le bloc pour permettre au réseau de le vérifier. Cette “preuve de fraude” peut avoir lieu dans un certain laps de temps, après quoi le bloc sera toujours finalisé. Un agrégateur qui s’avère être malhonnête perd la garantie (appelée “caution”) bloquée dans le smart contract pour participer à la salle d’opération, attribuée comme prix à ceux qui ont découvert la fraude.
En résumé, cette solution d’évolutivité ne dispose pas d’une norme de sécurité équivalente aux algorithmes de consensus proof-of-work et proof-of-stake, mais le fait de n’effectuer des vérifications que lorsque cela est nécessaire permet de gagner beaucoup de temps. Arbitrum et Optimism ont, en effet, adopté cette mesure d’extensibilité, mais il existe une alternative proposée par Rollup : la soi-disant “connaissance zéro” (zk).
Les zk de rollup agissent comme les OR en regroupant les transactions, cependant ils n’envoient pas d’informations compressées à la layer 1, mais seulement une preuve de leur validité. En bref, hors chaîne, il est déjà vérifié que toutes les transactions sont valides, de sorte que seul le code cryptographique qui le prouve est transmis : un SNARK (argument de connaissance succinct et non interactif) ou un STARK (argument de connaissance transparent et évolutif).
En substance, les ZK Rollups permettent des transactions instantanées, car leur validité est immédiatement vérifiée sur la chaîne par les SNARKs/STARKs, alors que les ORs impliquent parfois des temps d’attente pour une éventuelle “preuve de fraude”. Cependant, Arbitrum et Optimism ont préféré les OR en raison de leur compatibilité avec l’EVM, qui garantit une interopérabilité absolue avec Ethereum. De plus, les codes de validité zk sont complexes à produire, ils ne sont donc pas adaptés aux dapps à faible activité sur la chaîne.
Arbitrum vs Optimism et les différences avec Polygon
Arbitrum et Optimism sont des solutions de layer 2 qui exploitent la solution d’extensibilité des Rollups Optimistic, mais ils présentent quelques différences :
- Tokens et gouvernance : Arbitrum et Optimism sont tous deux compatibles avec les tokens ethereum, mais seul ce dernier possède son propre token de gouvernance : les tokens OP, distribués aux “premiers utilisateurs” lors de l’airdrop d’Optimism en juin 2022. Les détenteurs peuvent alors voter sur les mises à jour du protocole ou les plans d’incitation. Cependant, 20 millions de tokens OP ont été immédiatement volés par un smart contract de création de marché : le pirate, après avoir vendu un million de tokens et en avoir transféré autant à Vitalik Buterin, en a rendu 17 M.
- Preuve de fraude : la vérification de la validité d’un OR, lorsqu’elle est requise, dans Optimism se fait en un seul tour. En fait, le bloc entier est retraité sur la chaîne, cest-à-dire par la layer 1, pour évaluer l’exactitude du code “racine” (root state). Cette démarche, bien qu’instantanée, nécessite parfois des frais élevés. Dans Arbitrum, en revanche, le bloc soumis à l’épreuve de la fraude est d’abord traité hors-chaîne pour identifier la partie suspecte, puis envoyé individuellement à la layer 1 pour vérification. Bien que cela prenne plus de temps, cela permet de réduire les frais et d’augmenter la capacité de transaction.
- Machine virtuelle : Arbitrum possède sa propre version d’une “machine virtuelle” (Arbitrum Virtual Machine), c’est-à-dire le composant de chaque nœud qui permet l’exécution de smart contracts. Optimism, quant à lui, n’est compatible qu’avec la machine virtuelle Ethereum (EVM), il n’a pas créé la sienne. Cela signifie qu’Optimism dépend strictement des mises à jour du consensus Ethereum pour déterminer la validité des blocs. Toutefois, Arbitrum doit “traduire” chaque smart contract de EVM en AVM.
Après avoir compris ce qu’est la layer 2 et les différences entre Arbitrum et Optimism, la comparaison la plus immédiate à faire est avec Polygon. Il ne s’agit pas simplement d’une chaîne latérale d’Ethereum avec Rollup (optimiste et à connaissance nulle) et Plasma, mais d’une blockchain indépendante qui s’appuie sur le mécanisme Proof-of-Stake, et qui est plus flexible aux changements ultérieurs pour améliorer ses performances.
Ainsi, nous ajoutons une pièce à la mosaïque de l’évolutivité : les chaînes plasma sont ancrées à la blockchain Ethereum et utilisent la ” preuve de fraude ” pour résoudre les conflits de validité, comme Arbitrum et Optimism. Cependant, chaque chaîne plasma s’inscrit dans une hiérarchie ” parent-enfant ” : chaque chaîne ” fille ” allège la charge des opérations de la mère à laquelle elle est subordonnée, construisant ainsi une structure de blockchains greffées les unes sur les autres. Chaque chaîne plasma possède son propre mécanisme de consensus pour la validation des blocs et peut être dédiée à un cas d’utilisation spécifique.
À cet égard, rappelons que le Polygon est autonome et Proof-of-Stake, tandis que Arbitrum et Optimism dépendent de l’algorithme de consensus d’Ethereum. En fait, les validateurs de Polygon se verrouillent en mettant des tokens MATIC en staking pour valider les blocs (et recevoir des pouvoirs de gouvernance). Cela conduit à des avantages en termes de transactions par seconde : alors que Polygon, comme mentionné, prend en charge 65 mille tps, les OR d’Optimism et d’Arbitrum ne peuvent pas aller au-delà des 2000 tps, bien qu’Arbitrum affirme avoir un niveau de base de 4500 tps.
Enfin, le temps d’attente pour le retrait des tokens varie fortement entre les 3 protocoles : le mécanisme de preuve de fraude d ’Arbitrum et Optimism impose une période minimale de 1 à 2 semaines, nécessaire pour résoudre les litiges potentiels, tandis que le bridge de la chaîne PoS de Polygon permet aux tokens d’atteindre Ethereum en moins de 3 heures.
Ethereum 2.0 : évolutivité de la layer 1
Les solutions de layer 2 ne sont pas la seule option viable pour améliorer les performances du réseau : modifier le fonctionnement de la blockchain principale, de manière à résoudre la probabilité de congestion déjà au niveau de la layer 1, est complexe mais bénéfique. Nous avons dit que le trilemme de l’évolutivité entrave la définition de la blockchain comme étant à la fois sûre, décentralisée et évolutive. Toutefois, il ne s’agit pas d’une limite insurmontable : l’innovation peut être réalisée même sans chaînes de soutien de layer 2.
Évidemment, cela demande du temps et des efforts de programmation intensifs, mais il semblerait que la layer 1 d’Ethereum puisse enfin atteindre par elle-même l’évolutivité tant convoitée. En effet, le mainnet Ethereum est en transition depuis décembre 2020 : la version 2.0 promet 100 000 tps, changeant essentiellement de mécanisme de consensus du proof-of-work au proof-of-stake.
La “fusion” de la chaîne Beacon, la version empilée d’Ethereum, et de l'”ancienne” blockchain Ethereum est prévue pour août 2022, donnant ainsi naissance à Ethereum 2.0. Toutefois, il ne s’agira pas de la forme finale : l’évolutivité sera encore améliorée par le sharding et les protocoles de connaissance zéro !
Quel sera l’avenir des solutions de layer 2 ? Accompagneront-ils également Ethereum 2.0 ou seront-ils superflus ?