squares with blue background

Que sont les couches de la chaîne de blocs ?

Partager

Objectifs d'apprentissage :

À la fin de cet article, vous aurez compris :

  1. La différence entre les concepts L0, L1, L2 et L3 
  2. Les problèmes rencontrés par les chaînes de blocs 
  3. Le fonctionnement des solutions de mise à l'échelle 
  4. Le fonctionnement des solutions de rapprochement 

Que sont les couches de la chaîne de blocs ?

Les chaînes de blocs comme Bitcoin et Ethereum sont décrites comme des couches de règlement parce qu'elles règlent et stockent les transactions des monnaies numériques. Elles sont également décrites comme des chaînes de couche 1 s'inscrivant dans une hiérarchie d'autres couches de 0 à 3. 

Les questions à se poser sont les suivantes : pourquoi faut-il plus d'une couche de chaîne de blocs et quelle est la fonction de chacune de ces couches ? 

Le concept de couches de chaîne de blocs 

Il est courant de décrire les systèmes technologiques en utilisant le concept d'une pile ou de couches. Le fonctionnement d'Internet en est un bon exemple, décrit dans le modèle TCP/IP à quatre couches : Couche d'accès au réseau (1) > Couche Internet (2) > Couche transport (3) > Couche application (4) 

Le principe est le même pour les chaînes de blocs. Sur le plan technique, les chaînes de blocs peuvent être décomposées en cinq couches : 

  • L'infrastructure ou couche matérielle - Le réseau d'ordinateurs physiques qui se connectent les uns aux autres sur Internet sur une base pair-à-pair. 

  • La couche de données - Les informations que les chaînes de blocs stockent et mettent à jour.  

  • La couche réseau - Le logiciel qui permet aux nœuds du réseau d'écouter, de proposer et d'ajouter de nouveaux blocs au réseau. 

  • La couche de consensus - Les systèmes qui maintiennent l'intégrité et l'authenticité des données stockées dans les chaînes de blocs, les plus connus étant la preuve de travail et la preuve d'enjeu

  • La couche d'application et de présentation - Les API, les contrats intelligents et les dApp qui fournissent une interface utilisateur. 

Mais, de manière assez déroutante, le langage des cryptomonnaies utilise plus couramment des couches numérotées comme moyen abrégé de décrire des solutions à deux des plus grands défis auxquels les chaînes de blocs sont confrontées : l'interopérabilité et la mise à l'échelle. Les couches 0, 1 et 2 feront l'objet de cet article. 

Couches 0-2 : vue d'ensemble 

Couche 0 - Création et sécurité de la chaîne de blocs : Un système de chaîne de blocs qui fournit un règlement et une sécurité pour un nombre illimité de chaînes de blocs interopérables. 

Couche 1 - Couche de fondation : Chaînes de blocs à instance unique assurant le règlement et la sécurité

Couche 2 - Couche d'abstraction : traitement par lot des transactions hors chaîne. 

Couche 2 : évolutivité et trilemme de la chaîne de blocs 

L'article de la Skrill Crypto Academy qui décode le livre blanc du Bitcoin fournit une analyse complète de la manière dont le Bitcoin fonctionne comme une chaîne de couche 1 pour le règlement d'une nouvelle forme d'argent sur Internet sur une base peer-to-peer.

Le livre blanc ne mentionne peut-être pas le mot couche mais son auteur pseudonyme, Satoshi Nakamoto, a fait référence ailleurs en ligne à des lacunes qui laissent entrevoir la nécessité d'une deuxième couche.

« Bitcoin n'est actuellement pas pratique pour les très petits micropaiements. Suffisamment petit pour inclure ce que l'on pourrait appeler le haut de la gamme des micropaiements. Mais il ne prétend pas être pratique pour des micropaiements arbitrairement petits. » Satoshi Nakamoto, Référence 

La manière la plus simple d'illustrer le manque de fonctionnalité de Bitcoin pour les micropaiements est de prendre l'exemple d'un achat peu coûteux mais urgent, comme l'achat d'un café à emporter.  

Le problème du café de Bitcoin 

Bitcoin est conçu pour confirmer de nouveaux blocs de transactions toutes les 10 minutes. Acheter un café avec Bitcoin et attendre que votre achat soit confirmé sur la chaîne prendrait donc au moins autant de temps, car le réseau ne peut prendre en charge qu'environ sept transactions par seconde.  

En fait, les bonnes pratiques suggèrent que les détaillants attendent jusqu'à six confirmations pour s'assurer de la finalité d'un paiement en bitcoins. 

Par conséquent, soit Bitcoin ne sert que de réserve de valeur, soit il faut trouver une solution pour accepter des micropaiements sans longues confirmations de blocs. 

Ce problème est connu sous le nom de trilemme de la chaîne de blocs, car le seul moyen pour Bitcoin de faire évoluer les transactions en termes de temps de confirmation ou de nombre de transactions par bloc serait soit de confirmer les blocs plus rapidement, soit d'agrandir les blocs pour qu'ils puissent contenir plus de transactions ; chacune de ces options implique un compromis inacceptable. 

  • Des blocs plus rapides compromettraient la sécurité en augmentant les chances de réussite des attaques 

  • Des blocs plus grands compromettraient la décentralisation car l'augmentation de l'espace disque nécessaire rendrait plus difficile l'exploitation d'un nœud.  

La guerre des blocs 

Le débat sur la mise à l'échelle a débouché sur ce que l'on appelle la guerre des blocs. La guerre des blocs a atteint son apogée fin 2017, lorsqu'une version alternative du bitcoin appelée Bitcoin Cash a été créée et proposait des blocs plus grands.  

La plupart des mineurs ont voté pour le maintien de la taille des blocs existants, mais cela n'a pas empêché Bitcoin Cash d'exister indépendamment. Il a ensuite été forké pour créer Bitcoin SV (en novembre 2018) qui offre un espace de bloc illimité. 

Bitcoin a en fait été forké plus de 100 fois, mais la prédominance de l'implémentation originale illustre le fait qu'une solution à l'évolutivité doit venir d'une évolution au-dessus de Bitcoin plutôt que d'essayer de le changer fondamentalement. 

Le réseau Lightning 

En 2015, deux développeurs, Joseph Poon et Thaddeus Dryja, ont publié une proposition de solution de mise à l'échelle de la couche 2 en s'appuyant sur la couche de règlement existante de Bitcoin ; cette solution s'appelait le réseau Lightning.

Le réseau Lightning permet la création de canaux de paiement pair-à-pair hors chaîne (également appelés canaux d'état) où deux personnes (que nous appellerons Alice et Bob) peuvent envoyer des micropaiements dans les deux sens, instantanément et à un coût minimal.

Une transaction sur la chaîne avec un temps de confirmation de 10 minutes n'est nécessaire que lorsque Alice ou Bob souhaite ouvrir ou fermer le canal, ajouter ou retirer des fonds.

La beauté du réseau Lightning réside dans la manière dont les paiements sont acheminés. Alice n'a pas nécessairement besoin d'une connexion directe avec Bob. Les fonds peuvent être acheminés par des hubs Lightning qui détiennent suffisamment de liquidités pour gérer les paiements (y compris l'achat d'un café) en tant que connexion proxy pour des milliers d'utilisateurs et profiter des frais de transaction. 

Ethereum et la couche 2 

Les guerres de blocs et les applications de couche 2 comme le réseau Lightning offrent des solutions pour faire évoluer le Bitcoin tout en conservant sa méthode de consensus par preuve de travail, mais d'autres méthodes de consensus encadrent l'évolutivité d'une manière complètement différente.

Ethereum, lancé en juillet 2015, a adapté la méthode de la preuve de travail pour permettre un temps de confirmation d'environ 13 secondes et doubler le débit du Bitcoin. 

Toutefois, lorsque la popularité de la DeFi a décollé au cours de l'été 2020, la limite du débit a été atteinte, ce qui a créé une guerre d'enchères pour l'espace des blocs, contraire aux intentions d'ouverture d'Ethereum, et qui continue de poser problème.

Tout comme Lightning a fourni une solution de couche 2, les développeurs d'Ethereum ont introduit des moyens de grouper les transactions avant de les soumettre via le processus standard de confirmation des blocs. 

Cette technologie est collectivement connue sous le nom de rollups. Tous ceux qui soumettent une transaction dans le cadre d'un rollup bénéficient d'un débit nettement plus élevé et de frais nettement moins élevés.

  • Les rollups optimistes 

Les transactions sont supposées valides de manière « optimiste », mais peuvent être contestées.

  • Rollups à divulgation nulle de connaissance 

Les transactions sont calculées en dehors de la chaîne Ensuite, les données compressées sont fournies au réseau principal Ethereum avec des preuves de validité pour démontrer leur légitimité. 

Couche 0 : passerelle entre les chaînes de blocs 

Si l'évolutivité de la chaîne de bloc est résolue en construisant sur la couche de base, l'incapacité des chaînes de blocs à communiquer entre elles, l'interopérabilité, pose également un problème d'adoption. 

La nature démocratique du développement de la chaîne de blocs signifie qu'il existe aujourd'hui de nombreuses chaînes de niveau 1, chacune offrant ses propres cas d'utilisation et ses propres solutions au trilemme de la chaîne de blocs. Mais pour garantir la sécurité, les chaînes de blocs sont construites en silos, incapables de partager des données avec des chaînes de blocs qui utilisent des méthodes de consensus différentes.

La vérification des transactions entre des chaînes de blocs distinctes doit cocher trois cases, connues sous le nom de Trilemme de l'interopérabilité.

  • Absence de confiance : sécurité équivalente dans les deux chaînes 

  • Extensibilité : prise en charge de n'importe quel domaine 

  • Généralisation : capacité à traiter des données interdomaines arbitraires 

Cela complique la tâche de l'utilisateur moyen de cryptomonnaies qui pourrait vouloir, par exemple, gagner des intérêts sur ses bitcoins en utilisant une dApp basée sur Ethereum. Les solutions à ce problème sont les suivantes :

  • Emballage de jetons - Création de versions synthétiques d'actifs sur une base 1:1, par exemple wBTC 

  • Pontage - solutions centralisées/basées sur la confiance et options décentralisées sans confiance 

L'emballage et le pontage réduisent l'incompatibilité des différentes chaînes de blocs de niveau 1. Toutefois, les options décentralisées comportent des risques de sécurité, tandis que les approches centralisées compromettent les objectifs fondamentaux des systèmes de paiement résistants à la censure.

Une autre solution consiste à développer une couche fondamentale plus profonde de la pile de chaînes de blocs, une chaîne de blocs de chaînes de blocs (couche 0). Ou construire des chaînes qui fonctionnent en parallèle. 

Polkadot et Cosmos 

Polkadot et Cosmos sont deux exemples de chaîne de blocs de niveau 0. Les deux soutiennent la création de chaînes de blocs indépendantes mais interopérables qui sont sécurisées par la couche fondamentale, parfois décrites comme des chaînes de blocs imbriquées  

Chaînes latérales 

Entre les couches 0 et 1 se trouvent les chaînes latérales, qui fonctionnent en parallèle de la chaîne principale avec leur propre mécanisme de consensus. Les chaînes latérales s'appuient sur la chaîne principale pour la sécurité ainsi que pour le traitement de lots importants de transactions. Polygon est un exemple de réseau de chaînes latérales.

Les chaînes de blocs de la couche 0 et les réseaux de chaînes parallèles offrent une solution potentielle pour l'interopérabilité des chaînes de blocs à l'avenir, mais elles ne sont pas rétrocompatibles. 

Ainsi, à moins que Polkadot, Cosmos ou d'autres chaînes de blocs fondamentales ne gagnent l'ensemble de l'écosystème, ce qui semble peu probable compte tenu de la domination de Bitcoin et d'Ethereum, le problème de l'interopérabilité persistera jusqu'à ce que de nouvelles idées ou technologies voient le jour.

Que sont les couches de la chaîne de blocs ? Récapitulatif 

Les chaînes de blocs peuvent être décrites en termes techniques par cinq couches : 

  • La couche d'infrastructure ou de matériel 

  • La couche de données 

  • La couche réseau 

  • La couche de consensus 

  • La couche d'application et de présentation 

Les couches 0 à 2 sont souvent évoquées dans les couches de la chaîne de blocs. Ces couches remplissent les fonctions suivantes : 

  • Couche 0 - Création et sécurité de la chaîne de blocs 

  • Couche 1 - Couche de fondation 

  • Couche 2 - Couche d'abstraction 

Les couches numérotées de la chaîne de blocs sont utilisées pour référencer les solutions aux problèmes de mise à l'échelle et d'interopérabilité.

La couche 2 offre des solutions de mise à l'échelle qui incluent : 

  • Le réseau Lightning (Bitcoin) 

  • Rollups (Ethereum) 

La couche 0 offre des solutions d'interopérabilité : 

  • Réseaux de chaînes de blocs (Polkadot et Cosmos) 

  • Chaînes latérales (Polygon)