Couche 1 & Couche 2 : tout ce que vous devez savoir

Cardano_Layer_Updev Community

Lors de la discussion sur l’architecture de la blockchain, les termes “couche 1” et “couche 2” sont fréquemment mentionnés. Ce sont des concepts importants qui servent deux objectifs : expliquer comment un réseau blockchain est construit et fournir une représentation visuelle facile à comprendre de ce à quoi ressemble un réseau blockchain.

Décomposons ces idées.

Couche 1 : définition

Imaginez un gâteau de mariage, avec différents niveaux - couches, si vous voulez -, et la figurine d’un couple sur le dessus. Ce beau gâteau repose sur un support solide, la base. À toutes fins utiles, ce présentoir à gâteaux robuste et solide est la première couche (couche 1) qui prend en charge l’infrastructure des gâteaux. Vous pouvez probablement voir où cela mène. Dans une blockchain, la couche 1 est le réseau de base sur lequel reposent les solutions de la couche 2.

Couche 1 : fonctionnalité

Avec ce schéma visuel à l’esprit, Cardano est la couche 1 (le réseau de base), qui comprend elle-même trois couches indépendantes :

  • Couche réseau
  • Couche de consensus
  • Couche du grand livre

Couche réseau

Cette couche maintient les connexions entre tous les nœuds distribués du réseau Cardano, obtient de nouveaux blocs du réseau au fur et à mesure qu’ils sont produits par les nœuds producteurs de blocs, construit les transactions nouvellement créées en blocs et transmet les blocs entre les nœuds.

Couche de consensus

Cette couche remplit deux fonctions fondamentales :

  • Exécution du protocole de consensus Ouroboros . Cette couche prend des décisions telles que l’adoption de blocs, le choix entre des chaînes concurrentes (s’il y en a) et la décision de produire ses propres blocs ; et
  • Maintenir tout l’état nécessaire pour prendre les décisions prises dans la couche de consensus.

Couche du grand livre

Cette couche spécifie :

  • À quoi ressemble l’état du grand livre ; et
  • Comment le registre doit être mis à jour pour chaque nouveau bloc.

La couche du grand livre se compose exclusivement de fonctions pures qui spécifient les transitions entre les états successifs du grand livre, telles que dérivées des règles formelles du grand livre, à l’aide du modèle comptable Extended UTxO (EUTxO). Les transitions d’état sont pilotées par l’ensemble des transactions contenues dans les blocs Cardano et par des événements majeurs tels que les transitions de frontière d’époque.

La couche consensus n’a pas besoin de connaître la nature exacte de l’état du registre, ni le contenu des blocs, à l’exception de certains champs d’en-tête requis pour exécuter le protocole de consensus.

Dans leur ensemble, ces trois couches forment la solution de couche 1 qu’est Cardano.

Couche 1 : évolutivité

Regardez encore ce gâteau de mariage. C’est grand, n’est-ce pas, avec tous ces niveaux empilés les uns sur les autres. Mais regardez la base, le présentoir à gâteaux. Cette première couche a certaines dimensions et ne peut pas être plus grande. De même, il doit être suffisamment grand pour supporter les niveaux qui se trouvent au-dessus. Les éléments qui y reposent ne peuvent être que d’une certaine taille, et c’est exactement la raison pour laquelle les gâteaux de mariage ont plusieurs niveaux. Chaque niveau (pensez couche ) ajoute quelque chose à la base. Un nouveau remplissage, glaçage, décoration, etc. En d’autres termes, chaque niveau augmente la couche de base.

Les réseaux publics décentralisés sont confrontés à un problème similaire. Tout comme un présentoir à gâteaux ne peut contenir qu’un nombre limité de tranches, la base (la couche 1) ne peut traiter qu’un certain nombre de transactions. Si vous essayez d’ajouter plus de tranches que le gâteau n’en prend, elles commenceront à tomber des bords et le désordre gâchera le grand jour de quelqu’un. De même, les nœuds d’un réseau de couche 1 ne peuvent traiter qu’un nombre limité de transactions avant que la congestion ne se produise. Au fur et à mesure que la base d’utilisateurs augmente, le besoin de plus de nœuds pour traiter les transactions augmente également. Pour résoudre ce problème, le réseau doit évoluer, sinon les transactions commenceront à tomber des bords, pour ainsi dire.

Il existe des moyens d’étendre un réseau de couche 1. Augmenter la taille des blocs, par exemple, pour que les blocs transportent plus de données de transaction. La taille des blocs a récemment été augmentée de 8 Ko à 72 Ko (une augmentation de 12,5 %). C’est l’une des façons dont Cardano évoluera en 2022.

Pour en revenir à notre visuel de gâteau de mariage, l’ajout de niveaux agrandit non seulement le gâteau, mais introduit également une fonctionnalité très utile : la possibilité de rendre chaque niveau différent de la base. Nous pouvons ajouter différentes saveurs, garnitures, motifs, etc., indépendamment de la première couche. Pour répondre aux différents “invités” et aux différentes préférences. Dans la blockchain, l’ajout d’une nouvelle couche (couche 2) permet non seulement à la couche 1 de s’adapter, mais également aux transactions et aux processus de se dérouler indépendamment de la chaîne principale (couche 1).

Solutions d’évolutivité de couche 1 à Cardano

Cardano est maintenant dans la phase de développement Basho, qui concerne la mise à l’échelle et l’optimisation. Alors que le réseau gère actuellement la demande de manière très efficace, l’écosystème d’applications décentralisées (DApp) se développe rapidement et continuera d’imposer une demande croissante au système. Pour résoudre ce problème, plusieurs méthodes d’évolutivité (y compris des solutions de couche 1 et de couche 2) sont déployées sur Cardano pour intégrer d’abord des centaines de milliers, puis des millions de nouveaux utilisateurs.

Augmentation de la taille des blocs

Plus le bloc est grand, plus il peut transporter de transactions. Le tout premier bloc frappé sur Cardano avait une taille de 665 octets (0,665 Ko). Aujourd’hui, les blocs ont une taille de 72 Ko. C’est une augmentation de plus de 10 000 % ! D’autres augmentations seront appliquées au fil du temps en fonction de la surveillance continue du système et de la santé globale du réseau.

Canalisation

Améliore les temps de propagation des blocs en fusionnant la validation et la propagation. L’objectif est que les blocs soient propagés à au moins 95 % des pairs dans les cinq secondes en réduisant le « temps mort » entre les blocs (la surcharge de propagation des blocs). Cela donne la marge nécessaire pour effectuer des modifications de mise à l’échelle plus agressives, telles que l’augmentation de la taille des blocs/l’augmentation des limites des paramètres de Plutus.

Approbateurs d’entrée

Plus loin sur la ligne, les endosseurs d’entrée amélioreront les temps de propagation et le débit des blocs en permettant aux transactions d’être séparées en blocs pré-construits. Cela améliore la cohérence des temps de propagation des blocs et permet des taux de transaction plus élevés.

Paramètres mémoire/CPU pour Plutus

L’utilisation de la mémoire est plus efficace sur l’ensemble de la chaîne. Plus précisément, il existe des améliorations de la mémoire dans la gestion de la sortie de transaction non dépensée (UTXO), la distribution des mises, la distribution et les pools de mises en direct et la représentation du hachage.

Améliorations du script Plutus

Utilisation encore plus efficace du puissant modèle EUTxO grâce à l’optimisation des contrats intelligents, notamment :

  • Entrées de référence (CIP-0031) – Les scripts Plutus peuvent inspecter les entrées de transaction sans avoir à les dépenser. Cela signifie qu’il n’est pas nécessaire de créer des UTXO simplement pour inspecter les informations détenues par une entrée.
  • Datums Plutus (CIP-0032) – Les datums peuvent être attachés directement aux sorties au lieu des hachages de datum. Cela simplifie l’utilisation des données, car un utilisateur peut voir la donnée réelle plutôt que d’avoir à fournir la donnée qui correspond au hachage donné.
  • Partage de script (CIP-0033) – Les références de script Plutus peuvent être associées aux sorties de transaction, ce qui signifie qu’elles peuvent être enregistrées en chaîne pour une réutilisation ultérieure. Il ne sera pas nécessaire de fournir une copie du script avec chaque transaction, ce qui réduira considérablement les frictions pour les développeurs. La réutilisation de scripts dans plusieurs transactions réduit considérablement la taille des transactions, améliore le débit et réduit les coûts d’exécution des scripts.

Améliorations des nœuds

Les améliorations apportées au nœud aideront à répartir uniformément les calculs de mise et de récompense à travers les époques, offrant ainsi une plus grande marge pour les augmentations de taille de bloc. De plus, l’utilisation de la mémoire est désormais plus efficace. Le compactage de la mémoire réduit l’empreinte RSS et le partage de la mémoire signifie que nous avons besoin de moins de données instanciées. La version 1.34.1 du nœud, à partir de mars 2022, réduit la charge de pointe aux points critiques, y compris la limite d’époque.

Stockage sur disque

En stockant des parties de l’état du protocole sur le disque, les nœuds devront conserver moins de mémoire, ce qui signifie que les systèmes limités en RAM pourront exécuter des nœuds à condition qu’ils disposent d’un stockage suffisant, et la mémoire ne présentera pas de goulot d’étranglement pour l’évolutivité. Cela permettra une croissance significative de l’état de la blockchain.

Intermède : le trilemme de la blockchain

L’évolutivité d’un système distribué - tel qu’une blockchain - est un dilemme complexe.

Il existe un consensus général sur le fait qu’un système de blockchain “approprié” doit avoir trois propriétés : l’évolutivité, la sécurité et la décentralisation. Mais une croyance tout aussi répandue est le soi-disant trilemme, qui dicte que les systèmes décentralisés ne peuvent fournir que deux de ces propriétés, tout en sacrifiant la troisième. Postulé pour la première fois par le créateur d’Ethereum, Vitalik Buterin, le trilemme suggère que les développeurs doivent toujours accepter un compromis, ou un compromis, lors de la conception de réseaux blockchain. Ce compromis signifie qu’une propriété doit « souffrir », pour que les deux autres soient possibles.

Par exemple, plus un réseau a de nœuds, plus il devient décentralisé, mais cela signifie également que plus de nœuds doivent être dignes de confiance pour maintenir la sécurité. Pour maintenir la sécurité, des frais doivent être introduits qui rendraient le coût d’une attaque potentielle prohibitif. Pourtant, un réseau doit inciter à la participation, de sorte que les coûts par nœud doivent être relativement faibles. De plus, le trait même d’immuabilité implique que les données de la blockchain seront ajoutées tant que la blockchain existe, mais jamais supprimées, ce qui signifie que la blockchain continuera de croître. Un réseau plus grand signifie plus de ressources de calcul nécessaires pour maintenir les performances. De meilleures performances nécessitent un meilleur matériel, ce qui signifie que les récompenses doivent être suffisantes pour que l’investissement en vaille la peine. Et ainsi de suite.

Mise à l’échelle verticale et horizontale

Résoudre ce trilemme nécessite une approche prudente et équilibrée, afin que les trois éléments restent en équilibre.

En théorie, un système de blockchain continuera de croître indéfiniment. Au fur et à mesure que de plus en plus de nœuds feront partie du système, plus de données et d’actifs circuleront, et plus de transactions devront être traitées. Tout cela nécessite de la puissance de calcul et du stockage. Au fil du temps, la demande continuera de croître, de sorte que le système sous-jacent devra évoluer en conséquence pour éviter une chute spectaculaire des performances.

Deux options de mise à l’échelle existent : verticale et horizontale.

Mise à l’échelle verticale

Cette technique consiste à étendre les capacités de calcul des nœuds individuels en ajoutant plus de mémoire et de meilleurs composants. En d’autres termes, mettez à niveau le matériel du réseau pour obtenir de meilleures performances globales.

Avoir un réseau qui comprend des nœuds hautes performances prend en charge des tailles de bloc plus grandes et une diffusion de bloc plus rapide, par exemple. Mais les inconvénients sont que la décentralisation sera limitée, compte tenu des coûts d’exploitation élevés, ce qui incitera les nouveaux opérateurs de nœuds à réfléchir à deux fois avant de rejoindre et donc de freiner l’expansion du réseau. De plus, un tel réseau entraînera des coûts plus élevés pour les nœuds de validation.

Mise à l’échelle horizontale

Contrairement à la mise à l’échelle verticale, la mise à l’échelle horizontale peut être obtenue de deux manières. Un, simplement en ajoutant plus d’ordinateurs (nœuds) au réseau existant. La logique ici est que, en ajoutant des nœuds supplémentaires, le réseau devient capable de traiter plus de transactions.

Et deuxièmement, en utilisant des sidechains, qui supprimeront une partie de la charge de calcul de la chaîne principale et, comme avantage supplémentaire, permettront la personnalisation sous la forme de différents protocoles de consensus ou modèles de gouvernance, par exemple, pour s’adapter à un projet ou à une industrie particulière. Du point de vue de la sécurité, les sidechains peuvent créer un écosystème plus sécurisé en isolant les menaces potentielles à la chaîne principale. Si une sidechain est compromise de quelque manière que ce soit, le risque est limité à cette sidechain, protégeant ainsi le reste du réseau.

Couche 2 : résoudre le dilemme de l’évolutivité

D’une manière générale, les solutions de couche 2 étendent les capacités d’une chaîne de couche 1 existante, souvent pour résoudre des problèmes d’évolutivité. En étant construits au-dessus d’une blockchain existante (tout comme l’ajout d’un nouveau niveau à un gâteau de mariage), les protocoles de couche 2 effectuent une grande partie du travail de traitement qui se produirait autrement sur la chaîne principale tout en héritant de la sécurité de la blockchain sur laquelle il est construit au dessus de.

Couche 2 : définition

Un protocole supplémentaire hors chaîne qui fonctionne au-dessus de la blockchain de couche 1. Les parties peuvent transférer en toute sécurité des fonds de la blockchain vers un protocole hors chaîne, régler des transactions dans ce protocole indépendamment de la chaîne sous-jacente et transférer en toute sécurité des fonds vers la chaîne sous-jacente si nécessaire. Les protocoles de couche 2 améliorent le débit global et l’évolutivité car ils réduisent la congestion du réseau.

Solutions d’évolutivité de couche 2 à Cardano

Chaînes latérales

Bien que les chaînes latérales ne soient pas des solutions de couche 2, elles sont définies comme un moyen de permettre à plusieurs chaînes de blocs de communiquer entre elles et de faire en sorte que l’une réagisse aux événements de l’autre, est une chaîne de blocs distincte connectée à une chaîne de blocs principale (la chaîne “principale”, également connue sous le nom de chaîne mère), par le biais d’un mécanisme bidirectionnel (le “pont”) qui permet aux jetons et autres actifs numériques d’une chaîne d’être utilisés dans une autre et de renvoyer les résultats à la chaîne d’origine. Les actifs peuvent être déplacés entre les chaînes selon les besoins. Une seule chaîne parente peut être connectée à plusieurs chaînes latérales interopérables, qui peuvent fonctionner de manière complètement différente. Les chaînes latérales EVM sur Cardano incluent Milkomeda de dcSpark et le projet de chaîne latérale EVM d’IOG.

Hydre

Hydra est la solution d’évolutivité de couche 2 pour Cardano, qui vise à augmenter la vitesse de transaction grâce à une faible latence et à un débit élevé et à minimiser les coûts de transaction.

Hydra Head est le premier protocole de la famille Hydra et incarne la base de scénarios de déploiement plus avancés reposant sur des canaux d’état isomorphes et multipartites. En fournissant des moyens plus efficaces de traitement des transactions hors chaîne pour un ensemble d’utilisateurs, tout en utilisant le grand livre de la chaîne principale comme couche de règlement sécurisée, Hydra Head conserve les garanties de sécurité tout en restant faiblement couplé à la chaîne principale. Ne nécessitant pas de consensus mondial, il peut s’adapter à un large éventail d’applications. En outre, Hydra Head permet aux frais de transmission, aux budgets d’exécution de scripts et à d’autres paramètres de protocole d’être configurés aussi bas ou élevés que nécessaire selon le cas d’utilisation. Par exemple, cela est crucial pour permettre les microtransactions.

De plus, Hydra Head introduit le concept de canaux d’état isomorphes : c’est-à-dire réutiliser la même représentation de grand livre pour produire des frères et sœurs uniformes hors chaîne, que nous appelons Heads (d’où le nom Hydra). Spécifiquement pour Cardano, cela signifie que les actifs natifs, les jetons non fongibles (NFT) et les scripts Plutus sont disponibles dans chaque tête Hydra. L’isomorphisme permet une extension naturelle du système, plutôt qu’une extension boulonnée.

Les têtes d’hydre excellent dans l’obtention d’une finalité quasi instantanée au sein d’une tête. Le processus de création et de fermeture d’un responsable peut prendre quelques blocs, mais une fois établi, les transactions peuvent circuler rapidement entre les participants collaboratifs. Étant donné que les têtes Hydra sont isomorphes et utilisent également le modèle EUTXO, elles peuvent traiter simultanément des transactions non conflictuelles, ce qui, associé à une bonne mise en réseau, permet une utilisation optimale des ressources disponibles.

Cumuls et validiums

Les cumuls fonctionnent en convertissant le coût d’exécution de la couche 1 (exécution d’un contrat intelligent sur la couche 1) en un coût de données de la couche 1 (stockage des données sur la couche 1). Étant donné que les données sont beaucoup moins chères que l’exécution, les systèmes de couche 2 atteignent généralement des coûts de transaction beaucoup plus bas tout en héritant de la décentralisation et de la sécurité de la couche 1 sous-jacente, car toutes les données nécessaires pour reconstruire l’état de la couche 2 sont intégrées dans la chaîne sous-jacente. Les cumuls sont souvent associés à un système pour prouver à moindre coût l’état actuel de la couche 2 à la couche 1 sous-jacente, généralement avec des preuves de fraude (« cumuls optimistes ») ou des preuves de validité (« cumuls ZK »). Cependant, ce n’est pas une exigence, car les “cumuls souverains” ne contiennent souvent aucune preuve de ce type. Un exemple de framework pour créer des rollups dans l’écosystème Cardano est Paima Engine ,Milkomeda de dcSpark , ainsi que capable de surveiller certaines propriétés telles que les changements de propriété NFT dans la couche Cardano 1.

Parfois, au lieu de stocker toutes les données sur la couche 1, seuls les hachages des données de la couche 2 sont stockés sur la couche 1. Ceux-ci sont appelés “validiums”. Les validiums sont beaucoup moins chers mais nécessitent souvent d’être associés à une autre solution de stockage pour récupérer les données complètes (“pré-image”) du hachage (une telle solution de stockage est souvent appelée une “couche de disponibilité des données”).

Autres solutions d’évolutivité

Informatique hors chaîne

Le déchargement d’une partie du calcul, par exemple avec l’exécution de contrat asynchrone (ACE), peut accroître l’efficacité du réseau central. Les transactions se produisent en dehors de la blockchain elle-même, mais peuvent offrir des transactions rapides et bon marché via un modèle de confiance.

Mithril

Pour atteindre une plus grande évolutivité, il est nécessaire d’aborder la complexité des opérations critiques qui dépendent logarithmiquement du nombre de participants. Mithril est un protocole développé par IOG qui agit comme un schéma de signature de seuil basé sur les enjeux permettant une exploitation des enjeux transparente, sécurisée et légère. Mithril améliorera la synchronisation de la chaîne tout en maintenant la confiance. Le résultat est une agrégation multi-signatures rapide et efficace sans compromettre les fonctionnalités de sécurité.

Conclusion

Un réseau blockchain fonctionne de manière mystérieuse, et certains des concepts entourant un écosystème de registre décentralisé peuvent être difficiles à comprendre.

Ce n’est pas le cas des couches 1 et 2, si vous utilisez la visualisation du gâteau en couches exprimée ici.

  • Couche 1 (le présentoir à gâteaux) = le réseau de base robuste et sécurisé sur lequel reposent les solutions de couche 2
  • Couche 2 (les niveaux de gâteau) = solutions construites au-dessus de la base pour répondre aux limitations inhérentes

C’est le moyen le plus simple de visualiser et de comprendre ce que sont les couches 1 et 2.

Points clés à retenir

  • Cardano est la couche 1 (le réseau de base)
  • Une solution de couche 2 est une structure construite au-dessus d’une chaîne de couche 1 pour répondre aux limitations de cette dernière telles que les problèmes de vitesse de transaction. Le Lightning Network de Bitcoin est un exemple de solution de couche 2, tout comme Hydra pour Cardano
  • Il existe deux options de mise à l’échelle : verticale et horizontale
  • La mise à l’échelle verticale implique d’étendre les capacités de calcul des nœuds individuels en ajoutant plus de mémoire et de meilleurs composants.
  • La mise à l’échelle horizontale peut être obtenue de deux manières. Un, simplement en ajoutant plus d’ordinateurs (nœuds) au réseau existant, et deux, en utilisant des sidechains, ce qui enlèvera une partie de la charge de calcul de la chaîne principale.

Cardano verra une gamme de méthodes d’évolutivité mises en œuvre tout au long de 2022/2023

Source : https://www.essentialcardano.io/article/layer-1-and-layer-2-all-you-need-to-know