1. Les capacités limités de la blockchain Ethereum
  2. Comment résoudre ce problème de scalabilité ?
  3. Quels sont les principaux protocoles de « layer 2 » ?
  4. Comment fonctionne un rollup ?
  5. Que sont les Optimistic Rollups ?
  6. Que sont les ZK Rollups ?
  7. Quels sont les différences entre les Optimitic Rollups et les ZK Rollups ?
  8. Quels sont les limites des rollups ?
  9. Conclusion sur la technologie des rollups

Les capacités limitées de la blockchain Ethereum

Les rollups font fureur dans la communauté de la blockchain Ethereum (ETH) et représentent une solution attractive pour faire évoluer les capacités du réseau. Ils visent à résoudre le problème de scalabilité rencontré par Ethereum.

Cela signifie concrètement qu’Ethereum peine à faire face à une demande d’utilisateurs qui est de plus en plus croissante. La vitesse de traitement des transactions effectuées sur le réseau Ethereum ainsi que les frais de transaction sont les principales difficultés rencontrées par la blockchain fondée par Vitalik Buterin.

Comment résoudre ce problème de scalabilité ?

Une blockchain peut être conçue avec des capacités de transactions plus élevées. Cependant, le principal inconvénient de cette technique est que les blockchains avec des « blocs plus grands » sont intrinsèquement plus difficiles à vérifier et risquent de devenir plus centralisées.

Pour éviter ce risque, les développeurs peuvent rendre les logiciels clients plus efficaces ou utiliser des technologies comme le sharding pour aider à répartir le travail de construction et de validation de la chaîne sur plusieurs nœuds. Le projet « Ethereum 2.0 » tente de mettre en place cette solution.

Il est également possible de modifier la façon dont on utilise la blokchain. Au lieu de mettre toute leur activité directement sur la blockchain, les utilisateurs effectuent la majeure partie de leur activité hors chaîne via des protocoles dits de « niveau 2 », plus communément appelés « layer 2 ».

Il existe alors un smart contract sur la chaîne principale qui n'a que deux missions : traiter les dépôts et les retraits, et vérifier les preuves que tout ce qui se passe hors de la chaîne principale est conforme aux règles. Il existe plusieurs moyens pour réaliser ces preuves, mais elles ont toutes une chose en commun, à savoir que la validation des preuves sur la chaîne principale est beaucoup moins onéreuse que le calcul d’origine hors de la chaîne.

Quels sont les principaux protocoles de « layer 2 » ?

Les principaux protocoles visant à résoudre le problème de scalabilité de la blockchain Ethereum par une seconde couche sont les state channels, Plasma, et les rollups. Les deux premières solutions sont des représentations « complètes » de couche de niveau 2.

En effet, Plasma et les state channels tentent de déplacer les données et calculs hors de la chaîne principale, mais cela pose des problèmes de sécurité, car ces transactions ne profitent pas de la sécurité offerte par la chaîne principale d'Ethereum.

Les rollups quant à eux sont une représentation « hybride » de niveau 2. C’est-à-dire qu’ils déplacent le calcul hors chaîne tout en conservant certaines données par transaction sur la chaîne. C’est ainsi qu’en plus d’exporter une partie du calcul et des validations en dehors de la chaîne, les informations conservées sur la chaîne sont compressées pour diminuer leur taille ainsi que leur consommation de gas.

Par conséquent, sachant qu’une transaction classique coûte en moyenne 45 000 Gwei sur la chaîne principale d’Ethereum, celle-ci ne coûte plus que 300 Gwei lorsqu’elle est transportée et compressée grâce à un rollup.

Comment fonctionne un rollup ?

À l’image des autres blockchains, et notamment d’Ethereum, les rollups fonctionnent par le biais des arbres de Merkle. Ainsi, la totalité des données d’un rollup doit potentiellement être contenue dans un arbre de Merkle lequel agit en tant que référence de l’état du rollup.

Chaque solution de rollup bénéficie donc d’un smart contract que l’on peut retrouver sur la chaîne principale du réseau, laquelle contient l’état racine du rollup, lui-même constituant concrètement le code du contrat. Cet état qui est considéré comme valide sert de fondement pour évaluer les états futurs.

Rollup arbre de Merkle

Figure 1 : Publication de l’état d’un Rollup

 

Ainsi, c’est uniquement la racine de l’état qui est publiée sur la chaîne principale et chaque personne est en mesure de recalculer l’ensemble des branches et des feuilles de cet arbre en partant de cette référence.

Optimistic rollup explication 2

Figure 2 : Publication de nouvelles transactions via un rollup

 

Lorsque de nouvelles transactions sont enregistrées sur la seconde couche du réseau, les utilisateurs peuvent publier un bloc, soit un ensemble de transactions sous la forme d’un arbre de Merkle, de même que la racine de l’ancien et du nouvel état. Le smart contract du rollup sur la chaîne va alors s’assurer de la validité de l’état racine qui est proposé et de son état précédent, et s’ils correspondent, le nouvel état racine va devenir l’état actuel du rollup.

À noter toutefois qu’il importe désormais de connaître ce qu’il se passe lorsqu’un acteur malveillant publie un état racine qui est frauduleux, lequel ne devrait donc pas être accepté par le réseau. Plusieurs solutions sont proposées et différents types de rollups existent, les plus notables étant les Optimistic Rollups et les ZK Rollups.

Que sont les Optimistic Rollups ?

Les projets portant sur les Optimistic Rollups avancent de sorte qu’il est possible d’en percevoir le fonctionnement global. Dans le cadre de cette technologie, les fonds sont conservés sur un smart contract sur la chaîne tandis que les transactions qui sont hors de la chaîne sont agrégées et publiées d’une manière compressée sur la chaîne principale d’Ethereum. Pour ce qui est de la sécurité, les Optimistic Rollups sont fondés sur un « jeu de validité » (ou « validity game »). Dans un tel cas, deux acteurs coexistent :

  • Les émetteurs qui font des transferts et publient leurs transactions sur le réseau ;
  • Les agrégateurs qui ont pour mission d’agréger les transactions et de publier le changement d’état sur la chaîne principale.

Toutefois, il est important de souligner que la publication de ces états ne fait nullement l’objet d’une quelconque preuve cryptographique. En effet, l’agrégateur agrège les transactions et calcule le nouvel état de la racine de l’arbre de Merkle du rollup. Sa proposition ne sera considérée comme valide, une fois publiée, qu’après une période de sept jours. C’est durant celle-ci que s’opère la vérification. Toute personne qui est en mesure de recalculer la racine de l’état publié peut vérifier si cette dernière est juste.

Si personne ne conteste les modifications, celles-ci sont inscrites définitivement sur la blockchain Ethereum au bout de 7 jours. Néanmoins, si quelqu’un conteste le nouvel état, celui-ci peut défier l’agrégateur en publiant la racine valide et ainsi récupérer une partie du collatéral déposée en garantie par l’agrégateur malhonnête. Ce procédé est décrit comme « optimiste », car il permet d’assurer que le réseau et les états sont fiables tant qu’il existe au moins un validateur de bonne foi.

Les principaux inconvénients des Optimistic Rollups résident dans le fait qu’ils sont bien moins efficaces en termes de scalabilité que les ZK Rollups ou Plasma. En effet, ces rollups disposent d’un temps de retrait du rollup vers la blockchain Ethereum qui est de 7 jours. Ce délai de vérification étant considérable, il peut se révéler très inconfortable à l’utilisation. Le principal problème demeurant toutefois le système de sécurité optimiste, car il suppose qu’il y ait nécessairement une majorité de validateurs honnêtes ainsi qu’au moins un agrégateur qui ne censure pas les transactions.

👉 Tout savoir sur Arbitrum, l'Optimistic rollup le plus utilisé de l'écosystème

Que sont les ZK Rollups ?

Héritant tout comme les Optimistic Rollups des propriétés spécifiques des rollups, les ZK Rollups également appelés Zero-Knowledge Rollups permettent d’agréger des centaines de transactions ayant eu lieu hors chaîne tout en publiant une preuve cryptographique de l’état des soldes à la fin de ces transactions sur la chaîne principale. Deux types d’utilisateurs coexistent dans un système utilisant les rollups :

  • Les émetteurs qui effectuent des transferts tout en publiant leur transaction sur le réseau ;
  • Les relayeurs qui collectent les données des transactions et lorsqu’il y en a suffisamment qui sont créées par un rollup, ils vont générer la preuve SNARK qui représente la différence entre l’état des comptes avant et après le rollup.

Pour qu’un utilisateur devienne relayeur, il doit déposer des fonds en garantie sur le smart contract du rollup pour assurer qu’il ne va ni altérer ni retenir aucune transaction. S’il commet une faute, une partie de son collatéral sera imputée. Cette solution semble donc idéale en théorie, car les frais sont extrêmement faibles et est plus rapide que Plasma ou les Optimistics Rollups. Avec les ZK Rollups, les informations stockées sur la chaîne principale sont réduites ce qui augmente logiquement la scalabilité du réseau Ethereum.

Pour autant comme toute technologie, les ZK Rollups présentent également des inconvénients non négligeables. Les preuves à divulgation nulle de connaissance sont en effet compliquées à calculer, ce qui réduit les capacités de scaling de cette solution. Enfin, certaines attaques peuvent se révéler dévastatrices contre les ZK Rollups, notamment lors de l’initialisation du rollup ou encore à la création du premier état, car la configuration initiale d’un ZK Rollup est fondée sur un état de confiance, lequel ne peut être prouvé.

Quels sont les différences entre les Optimitic Rollups et les ZK Rollups ?

Voici un tableau vous permettant de visualiser les principales priorités sur lesquelles les Optimitic Rollups et les ZK Rollups diffèrent :

Propriétés Optimistic rollups ZK rollups
Coût fixe du gas par lot Environ 40 000 Environ 500 000
Coût du gas par transaction Plus important Plus faible
Coûts de calcul hors chaîne Plus faible Plus important
Délai de retrait Environ 1 semaine Très rapide (il suffit d'attendre le prochain lot)
Complexité de la technologie Accessible Très complexe
Capacité de généralisation Plus facile, car proche du réseau principal Plus difficile

Quelles sont les limites des rollups ?

De nombreuses zones d’ombre subsistent encore quant à la conception des rollups et de nombreux défis doivent encore être relevés. On peut notamment citer :

  • L’intégration des utilisateurs : peu d’applications décentralisées utilisent les rollups et peu d’utilisateurs les connaissent de sorte que peu de plateformes les prennent en charge ;
  • La sécurité des pré-confirmations : de nombreux rollups offrent une notion de « pré-confirmation » pour des expériences utilisateurs plus rapides où le séquenceur fournit immédiatement une promesse qu’une transaction sera comprise dans le lot suivant et le dépôt du séquenceur est détruit s’il manque à sa parole. Cependant, la sécurité économique de ce modèle est limitée en raison de la possibilité restreinte de faire des promesses à de nombreux acteurs en même temps.

Conclusion sur la technologie des rollups

Les rollups représentent donc un nouveau paradigme puissant pour résoudre le problème de scalabilité de la blockchain Ethereum. Ils seront certainement la pierre angulaire de la mise à l'échelle d'Ethereum à court et à moyen terme (et éventuellement à long terme).

La communauté Ethereum a été très enthousiaste à leur sujet, car, contrairement aux tentatives précédentes de passage à la seconde couche d'Ethereum, celle-ci peut prendre en charge le code de l’Ethereum Virtual Machine (EVM) générique, lequel permet aux applications existantes de migrer facilement vers de nouvelles solutions. Pour ce faire, ils ont accepté un compromis clé : au lieu d'essayer de sortir complètement de la chaîne principale, ils ont laissé sur celle-ci une petite quantité de données par transaction.

Il existe de nombreux types de rollups et de nombreux choix quant à leur conception : des Optimistic Rollups qui utilisent des preuves de fraude, comme les ZK Rollups utilisant des preuves de validité. Les séquenceurs (les utilisateurs qui peuvent publier des lots de transactions sur la chaîne) peuvent être un acteur centralisé ou un utilisateur tout à fait ordinaire, ce qui offre une grande flexibilité.

Les rollups constituent ainsi une technologie en plein essor qui fonctionne déjà, et certains d'entre eux (y compris Loopring, ZKSync et DeversiFi) sont déjà bien répandus à travers l’écosystème blockchain. Cela n’augure que du bon pour la blockchain Ethereum qui verra ainsi progressivement ses frais exorbitants disparaître.

Sources graphiques : Figures 1 et 2 : Vitalik Buterin

Newsletter 🍞

Recevez un récapitulatif de l'actualité crypto chaque dimanche 👌 Et c'est tout.

A propos de l'auteur : Adnan Valibhay

twitter-soothsayerdata

Étudiant au sein du Master 2 Opérations et fiscalité internationales des sociétés de la Sorbonne, très intéressé par le droit des entreprises en difficulté dans un contexte transfrontalier, j’ai développé en parallèle de mes études un réel intérêt pour les cryptomonnaies que je souhaite à tout prix transmettre au plus grand nombre.
Tous les articles de Adnan Valibhay.

guest
0 Commentaires
Inline Feedbacks
View all comments