La modularité, le buzzword qui agite Ethereum et le Web3 : qu’est-ce que c’est ?

Collectionnez les articles du JDC en NFT

Collecter cet article

Celestia, Avail ou encore EigenLayer, nombreux sont les projets à proposer des Data Availability Layers, aussi appelées couches de disponibilité des données. En pratique, ces protocoles sont une solution parmi tant d’autres pour améliorer la scalabilité des blockchains. Explorons ensemble ce qu’ils sont et comment ils fonctionnent.

L’ère des blockchains monolithiques

Bitcoin, ainsi que la plupart des blockchains de layer 1 sont des blockchains dites monolithiques. En pratique, cela signifie que toutes les fonctions et opérations sont exécutées sur une seule et même chaîne.

Concrètement, une blockchain monolithique gère trois grandes composantes : 

  • L’exécution ;
  • Le consensus ; 
  • La disponibilité des données.

Depuis la création des transactions, à leur ajout dans un bloc jusqu’à la validation des blocs, l’ensemble des mécanismes sont gérés sur la couche principale de la blockchain.

Ainsi, dans ce type d’architecture, chaque nœud du réseau doit traiter l’intégralité des opérations.

Au fil de l’essor des cryptomonnaies, cette architecture a rapidement montré ses limites. Comme les blockchains monolithiques gèrent l’intégralité des opérations sur la couche principale, cela conduit à des limitations. Notamment en termes de scalabilité et de performances.

Face à ce problème, plusieurs pistes ont été explorées. Par exemple, la blockchain Solana a fait le choix de maximiser les performances. 

Néanmoins, cela se fait au détriment de la centralisation. En effet, comme l’ensemble des nœuds du réseau doivent être en mesure de traiter toute les opérations possibles. Cela implique que chaque nœud dispose d’exigences matérielles élevées, élevant de fait la barrière d’entrée pour opérer un nœud sur le réseau.

Ainsi, certains développeurs ont imaginé des architectures plus modulaires. L’objectif étant de séparer chacune des trois grandes composantes d’une blockchain dans une couche spécifique et dédiée.

L’avènement de l’architecture modulaire

À l’inverse de l’approche monolithique, pour laquelle une couche gère toutes les opérations, des développeurs ont misé sur une approche plus modulaire.

Ainsi, les différentes composantes de la blockchain sont divisées en différentes strates. Chacune de ces strates est chargée de gérer l’une des 3 composantes: exécution, consensus ou disponibilité des données.

Différence entre l'architecture d'une blockchain monolithique et modulaire.
Blockchain monolithique vs Blockchain modulaire – Source : Celestia.

Par exemple, lors du passage au Proof of Stake, Ethereum est passé d’une blockchain monolithique à une blockchain à deux couches avec : 

  • L’exécution layer, chargé de l’exécution des transactions et smart contracts ;
  • Le consensus layer, chargé de la coordination et la validation des blocs.

Face à l’essor de cette architecture, des développeurs ont imaginé une architecture plus modulaire.

>> Acheter des cryptomonnaies tout en économisant 10 % de frais ? C'est sur Binance aujourd'hui à 13 heures <<
<strong>Inscrivez-vous sur Binance</strong>
Inscrivez-vous sur Binance

Le problème de la disponibilité des données

Avant d’entrer dans le détail des Data Availability Layers (DA layers), nous devons d’abord comprendre le problème de la disponibilité des données.

Revenons au fonctionnement basique d’une blockchain. Lorsqu’un nœud doit valider un bloc, celui-ci va vérifier la validité de chacune des transactions présentes dans ce bloc. Pour cela, il aura besoin de connaître le détail de chaque transaction.

Ainsi, il est primordial que le détail des transactions soit accessible à l’ensemble des nœuds afin qu’ils puissent valider les transactions. Toutefois, forcer l’ensemble des nœuds à télécharger toutes les données engendre d’importantes limitations en termes de scalabilité. Comme expliqué sur le site officiel d’Ethereum : 

« Les données de transaction complètes sont nécessaires pour vérifier indépendamment les blocs. Toutefois, le fait d’exiger que tous les nœuds téléchargent l’ensemble des données de transaction constitue un obstacle à la mise à l’échelle. »

De surcroît, ce problème prend une tout autre dimension avec l’arrivée des L2 et autre rollup. En effet, les rollups doivent aussi publier les données relatives aux transactions qui ont lieu sur le L2. Celles-ci sont nécessaires pour que tout observateur externe soit en mesure de vérifier la preuve d’état publiée par le rollup sur le L1.

Par conséquent, des chaînes comme Ethereum se retrouvent à devoir stocker les données des transactions ayant lieu aussi bien sur le L1 que sur le L2. Cela engendre sans surprise des limitations en termes de scalabilité.

Data Availability Layer : la solution au stockage des données

Jusqu’à présent, la plupart des rollups utilisent le L1 d’Ethereum pour publier les données relatives aux transactions. Par conséquent, nous pouvons dire qu’Ethereum est la couche de disponibilité des données de la plupart des rollups.

Cependant, face à l’essor des architectures modulaires, plusieurs projets ont émergé en proposant des blockchains spécialisées dans l’accessibilité des données. Ainsi, plutôt que de publier les données relatives aux transactions sur le L1, les rollups peuvent utiliser ces solutions pour publier les données.

La mission de ces nouvelles couches est simple : vérifier que chaque bloc a été ajouté par consensus et que de nouveaux blocs sont disponibles pour le réseau.

Parmi les projets les plus en vogue dans le domaine des DA nous retrouvons Celestia, Avail ou encore EigenLayer. Dans les faits, chacune de ces solutions aborde le problème différemment et dispose de mécanismes propres pour assurer que les données soient disponibles.

Les désavantages des DA Layers

Évidemment, comme toute solution technologique, les DA Layers n’ont pas que des avantages.

Ainsi, ces derniers permettent effectivement d’améliorer la scalabilité, mais souvent au détriment de la sécurité. En effet, comme les données ne sont plus stockées sur le L1, ces données et les rollups n’héritent plus pleinement de la sécurité d’Ethereum.

De plus, comme l’avait discuté Vitalik Buterin en janvier dernier, les rollups qui utilisent une couche d’accessibilité des données ne sont pas à proprement parler des rollups mais bien des validiums.

Par conséquent, chaque projet doit faire les choix qui lui semblent judicieux en prenant en compte les désavantages et avantages proposés par chacune des solutions.

De son côté, le réseau Ethereum est en passe de devenir une meilleure couche de disponibilité des données pour ses L2. En effet, le 13 mars prochain la mise à jour Cancun Deneb devrait être déployée sur le mainnet. Celle-ci introduira Proto-Danksharding, une nouvelle méthode plus efficace pour stocker les données des L2 sur Ethereum.

Pour faire le plein de cryptos, rendez-vous sur Binance, le leader des exchanges. Vous y trouverez toutes les cryptomonnaies les plus connues, ainsi que les projets novateurs présentés sur leur launchpool. Grâce à ce lien affilié, bénéficiez de 10 % de remise sur vos frais de trading et soutenez le travail du JdC
<strong>Inscrivez-vous sur Binance</strong>
Inscrivez-vous sur Binance

Renaud H.

Ingénieur en software et en systèmes distribués de formation, passionné de cryptos depuis 2013. Touche à tout, entre mining et développement, je cherche toujours à en apprendre plus sur l’univers des cryptomonnaies et à partager le fruit de mes recherches à travers mes articles.

Recevez un condensé d'information chaque jour