Les Layer 1 et Layer 2

Après la DeFi Summer en 2020 et le NFT Summer en 2021, la problématique de la scalabilité devient de plus en plus pressante. Depuis plusieurs années, des solutions de layer 2 se sont développées pour pallier la problématique de congestion des layers 1. Dans cet article, nous aborderons ces notions de layer 1 et layer 2 ainsi que leurs principales caractéristiques.   

Un layer 1 est le terme utilisé pour décrire l’architecture principale sous-jacente de la Blockchain. Un layer 2 est en revanche un réseau qui vient se superposer à une Blockchain de layer 1. Nous pouvons prendre pour exemple le layer 1 Bitcoin qui a un de ses layer 2 nommé le Lightning network ou encore le layer 1 Ethereum qui a un de ses layer 2 nommé Polygon.

L’origine de création de layer 2 vient du faible nombre de transactions par seconde que peuvent assurer les blockchains Bitcoin (7 transactions/sec) et Ethereum (15 transaction/sec). À titre d’exemple, Visa gère en moyenne entre 1700 et 2000 transactions par seconde, soit 130 fois plus qu’Ethereum. Nous apercevons donc la limite des deux plus gros layer 1 qui ne peuvent proposer une scalabilité suffisante pour des paiements en cryptomonnaie dans la vie quotidienne.

Le Triangle d’incompatibilité de la Blockchain

Vitalik Buterin, un des co-fondateurs de la Blockchain Ethereum, formalise un triangle d’incompatibilité sur les 3 propriétés fondamentales de la Blockchain :

Triangle d’incompatibilité de la Blockchain

Vitalik Buterin affirme qu’il n’est pas possible d’optimiser les 3 propriétés en même temps pour une Blockchain publique. Alors que la sécurité est en élément essentiel, la décentralisation est l’idée fondamentale de la Blockchain, comment augmenter la scalabilité sans dévoyer les principes de décentralisation ?  

Améliorer le layer 1 ou créer un layer 2

Deux solutions sont possibles pour essayer de répondre à la problématique de scalabilité des Blockchains de 1ère et 2nd génération.

Layer 1

La 1ère solution est d’améliorer le layer 1 en changeant la base de son protocole, cela passe principalement par :

  • Un changement d’algorithme de consensus : les plus anciennes Blockchains comme Bitcoin ou Ethereum fonctionnent en Proof-of-Work, c’est-à-dire que ce sont des mineurs qui résolvent une équation cryptographique complexe en utilisant leur puissance de calcul afin d’assurer le consensus. C’est un consensus très sécurisé, mais qui est lent et énergivore. C’est pourquoi les nouvelles blockchains se tournent vers la Proof-of-Stake qui leur permet d’utiliser moins d’énergie, mais également d’être plus scalable. Ethereum a entrepris ce chantier de passage de la Proof-of-Work vers la Proof-of-Stake avec le développement d’Ethereum 2.0.  
  • Le sharding : l’idée clé est de diviser le réseau en sous-ensembles appelés « shards », chaque shard travaille sur un ensemble différent de transactions au lieu que le réseau entier traite toutes les transactions.

Layer 2

La 2ème solution est de créer un layer 2, il existe plusieurs types de solution de Layer 2 : la Sidechain, le State channel, les rollups sont les principales.

La Sidechain

Une Sidechain est une blockchain distincte cependant, elle ne peut fonctionner de manière autonome car elle est liée à la blockchain principale par un bridge bidirectionnelle (cela pourrait être un sujet d’article dans le futur). Ce mécanisme permet aux tokens ou autre digital assets de la Blockchain principale d’être utilisé dans la Sidechain puis d’être ramené à la Blockchain d’origine si nécessaire. Une Sidechain est donc interopérable avec la chaine principale, mais peut avoir son propre algorithme de consensus. La Sidechain ne bénéficie donc pas totalement des protocoles de sécurité de la chaine principale.

Le State channel

Le State channel a pour idée d’utiliser un canal secondaire pour mettre à jour les statuts et procéder aux transactions en dehors de la Blockchain principale. Une fois l’état final obtenu, il est réécrit sur la Blockchain principale permettant de décharger la chaine principale des opérations intermédiaires. Un smart contract est initialement crée, les financements y sont déposés si nécessaire assurant l’accord et la logique business entre les participants. À partir de ce moment, les transactions et interactions sont faites sur un State channel off-chain. Une fois l’état final atteint, le state channel est fermé et l’état final est écrit sur la Blockchain principale libérant également le smart contract. La solution du State channel est principalement utiliser pour des transactions de paiements.

Fonctionnement d’une transaction sur un State Channel

Les rollups

Les rollups représentent une famille de solution, il existe plusieurs types de rollups (Optimistic-Rollups, Zero Knowledge Rollups). Le rollup est une solution hybride qui allie des données on-chain et des données off-chain. C’est la notion d’arbre de Merkle qui permet de « compresser » les données. Un arbre de Merkle aussi nommé arbre de hachage est une structure de données permettant de vérifier l’intégrité des données sans avoir toutes les données brutes initiales. On vient remplacer les données par des calculs cryptographiques de hachage.

Arbre de Merkle issus de https://fr.wikipedia.org/wiki/Arbre_de_Merkle

À partir du nœud racine de l’arbre de Merkle et de calculs cryptographiques, nous pouvons retrouver les données L1, L2, L3, L4 sans les avoir stockées de manière brute.

Seule la racine de l’état est publiée sur la Blockchain principale permettant à chacun de recalculer l’ensemble des branches et feuilles de l’arbre. Par la suite, lorsque de nouvelles transactions ont lieu pour cet état alors un nouveau nœud racine est soumis à la Blockchain principale. Aujourd’hui, nous ne rentrerons pas dans les détails mais la différence entre un Optimistic Rollup et Zero Knowledge Rollup se situe dans leur algorithme de preuve qui valide que le nouveau nœud racine soumis n’est pas une fraude.  

En résumé avec un rollup, les transactions se font off-chain puis les données de ces transactions sont compressées en un arbre de Merkle dont le nœud racine est écrit on-chain bénéficiant de la sécurité de la Blockchain principale.

Conclusion

Nous avons pu voir les principales possibilités pour améliorer la scalabilité d’une Blockchain de layer 1 avec par exemple le recours à des solutions dites « Layer 2 ». À savoir qu’une solution n’exclut pas nécessairement les autres, par exemple Ethereum 2.0 travaille sur une solution de changement d’algorithme de consensus de son layer 1 avec également la mise en place de sharding tout en exploitant les rollups. Ethereum 2.0 espère théoriquement pouvoir atteindre les 100 000 transactions par seconde soit 6 666 fois plus rapide que la Blockchain Ethereum actuelle. En attendant ETH 2.0, une Sidechain interopérable avec Ethereum nommé Polygon est apparu permettant l’utilisation des outils Ethereum tout en ayant son propre consensus de validation (Proof of stake).