À retenir
La scalabilité d’une blockchain fait référence à la capacité d’un réseau à gérer davantage de transactions à mesure que la demande augmente. Pour les réseaux blockchain, c’est difficile à atteindre sans compromis sur la sécurité ou la décentralisation.
Le « trilemme de la blockchain » décrit le défi consistant à atteindre en même temps la scalabilité, la sécurité et la décentralisation.
Les sidechains sont des blockchains distinctes reliées à une chaîne principale, permettant d’effectuer des transactions avec des règles différentes et des vitesses plus élevées que la couche de base.
Les canaux de paiement permettent à deux parties d’effectuer des transactions hors chaîne. Seules les transactions d’ouverture et de fermeture apparaissent sur la blockchain, ce qui réduit la congestion et les frais.
Introduction
La scalabilité désigne, de manière générale, la capacité d’un système à croître et à faire face à une demande croissante. En informatique, vous pouvez améliorer les performances d’une machine en mettant à niveau son matériel. Dans les réseaux blockchain, le défi est différent. Mettre à l’échelle une blockchain signifie augmenter sa capacité à traiter davantage de transactions, tout en la gardant sécurisée et accessible à de nombreux participants.
Bitcoin est un bon exemple. Sa nature décentralisée implique que des milliers de nœuds doivent rester synchronisés entre eux. Cela crée des contraintes sur le nombre de transactions pouvant être traitées simultanément. Lorsque la demande dépasse la capacité, les frais de transaction peuvent augmenter et les temps de confirmation peuvent ralentir.
Plutôt que d’essayer de résoudre tout cela sur la couche de base, de nombreux développeurs se sont concentrés sur des solutions hors chaîne. Deux des approches les plus importantes sont les sidechains et les canaux de paiement. Cet article explique comment ils fonctionnent et comment ils s’intègrent dans l’ensemble du paysage de la couche 2.
Le problème de scalabilité de la blockchain
Exécuter un nœud Bitcoin est relativement peu coûteux, et un matériel même modeste peut le faire. Mais comme des milliers de nœuds doivent rester synchronisés, le réseau a des limites sur le nombre de transactions qu’il peut traiter. Des plafonds sur la taille des blocs et sur les temps de bloc contribuent à maintenir la base de données gérable pour tous les participants.
Ce goulot d’étranglement devient visible pendant les périodes de forte demande. Imaginez un train avec un nombre de places fixe qui part selon un horaire défini. Quand plus de personnes veulent monter qu’il n’y a de places, les prix augmentent. Un réseau congestionné augmente les coûts par transaction et ralentit les confirmations pour ceux qui ne paient pas de supplément.
Le créateur d’Ethereum, Vitalik Buterin, a décrit ce défi comme le trilemme de la blockchain. Il a proposé que les systèmes blockchain fassent face à des compromis entre trois propriétés : la scalabilité, la sécurité et la décentralisation. Améliorer deux de ces propriétés peut rendre la troisième moins bonne. Pour cette raison, beaucoup pensent que la scalabilité est mieux traitée à une couche secondaire plutôt que sur la chaîne principale elle-même.
Quelles sont les solutions de scaling hors chaîne ?
Le scaling hors chaîne permet d’effectuer des transactions sans alourdir la blockchain principale. Les protocoles construits au-dessus d’une chaîne permettent aux utilisateurs d’envoyer et de recevoir des fonds, mais les transactions individuelles ne sont pas enregistrées sur la chaîne principale. Cela permet de garder la couche de base légère tout en permettant des volumes élevés de transactions.
Deux des approches les plus anciennes et les plus largement déployées sont les sidechains et les canaux de paiement. Les deux réduisent la charge sur la chaîne principale, mais ils fonctionnent de façons très différentes.
Une introduction aux sidechains
Qu’est-ce qu’une sidechain ?
Une sidechain est une blockchain distincte qui fonctionne en parallèle avec une chaîne principale et y est connectée via un « peg » à double sens. Les actifs peuvent se déplacer entre la chaîne principale et la sidechain, puis revenir. La sidechain fonctionne de manière indépendante, avec ses propres règles de consensus, ses temps de bloc et ses validateurs.
Comment fonctionne une sidechain ?
Lorsqu’un utilisateur déplace des actifs vers une sidechain, ses fonds sur la chaîne principale sont verrouillés, et une quantité équivalente est émise sur la sidechain. Lorsqu’il revient, les jetons de la sidechain sont brûlés et les fonds d’origine sont déverrouillés. Ce mécanisme s’appelle un « peg » à double sens.
Supposons qu’Alice possède cinq bitcoins et qu’elle souhaite utiliser une sidechain plus rapide. Elle envoie ses bitcoins à une adresse de bridge, qui les verrouille. Elle reçoit ensuite cinq jetons correspondants sur la sidechain.
Alice peut désormais effectuer des transactions librement sur la sidechain. Quand elle est prête à revenir, elle envoie les jetons de la sidechain à une adresse spéciale, et ses bitcoins sont libérés sur la chaîne principale. Tant que cela concerne Bitcoin, elle n’a effectué que deux transactions : une pour entrer dans la sidechain et une pour en sortir.
Pourquoi utilise-t-on des sidechains ?
Les sidechains ne sont pas soumises aux règles de la chaîne principale. Elles peuvent utiliser différents mécanismes de consensus, produire des blocs plus fréquemment et régler les transactions plus rapidement. Elles peuvent aussi servir d’environnements de test pour de nouvelles fonctionnalités, car un bug sur une sidechain n’affecte pas le réseau sous-jacent.
Le compromis, c’est la sécurité. Une sidechain est généralement moins sécurisée que la chaîne principale, car elle compte moins de validateurs et dispose de son propre modèle de consensus. Les utilisateurs qui effectuent des transactions sur une sidechain font confiance à ses règles plutôt qu’à celles de Bitcoin.
Plasma d’Ethereum était un cadre ancien qui partageait certaines similitudes avec les sidechains. Il utilisait une hiérarchie de chaînes filles pour délester les transactions de l’Ethereum mainnet. Malgré certaines limites, il a contribué à poser les bases de conceptions de couche 2 plus avancées.
Une introduction aux canaux de paiement
Qu’est-ce qu’un canal de paiement ?
Un canal de paiement permet à deux parties d’effectuer des transactions hors chaîne sans publier chaque transaction sur la blockchain. La mise en œuvre la plus connue est le réseau Lightning pour Bitcoin. Les canaux de paiement utilisent des smart contracts pour faire respecter un solde partagé entre les participants, ce qui leur permet de mettre à jour ce solde librement sans payer à chaque fois des frais on-chain.
Comment fonctionne un canal de paiement ?
Pour ouvrir un canal, deux participants déposent des fonds dans une adresse multisignature partagée. Cette adresse exige que les deux parties signent toute transaction. Ensemble, ils conservent une feuille de solde privée qui indique combien chaque personne détient.
Si Alice et Bob déposent chacun 10 BTC dans une adresse partagée, ils commencent avec 10 BTC chacun. Si Alice veut payer Bob 1 BTC, elle met à jour la feuille de solde comme suit : Alice a 9 BTC, Bob a 11 BTC. Cette mise à jour ne touche pas la blockchain. Ils peuvent continuer à s’envoyer des paiements dans les deux sens, en mettant à jour le solde autant de fois qu’ils le souhaitent.
Une fois qu’ils ont terminé, ils signent une transaction finale qui envoie à chaque personne son solde actuel. Seules deux transactions on-chain sont nécessaires, quel que soit le nombre de mises à jour hors chaîne : une pour ouvrir le canal et une pour le fermer. Toutes les transactions intermédiaires sont gratuites et quasi instantanées.
Acheminement des paiements
Les canaux de paiement deviennent particulièrement puissants lorsqu’ils sont connectés à un réseau. Si Bob a un canal ouvert avec Carol, Alice peut payer Carol sans ouvrir de canal direct avec elle. Elle achemine le paiement via Bob, qui le transmet à Carol. Cet acheminement peut s’étendre sur plusieurs étapes.
Dans un réseau bien connecté, il existe souvent plusieurs itinéraires entre n’importe quelles deux parties. Le paiement trouve le chemin disposant de suffisamment de capacité et transmet le montant. C’est ainsi que le réseau Lightning permet d’effectuer des paiements Bitcoin entre des utilisateurs qui n’ont jamais interagi directement.
Comment l’évolution du scaling de la couche 2 s’est-elle faite ?
Depuis l’introduction des sidechains et des canaux de paiement, l’écosystème de la couche 2 a considérablement grandi. Une nouvelle catégorie de solutions de scaling appelée rollups est devenue l’approche dominante pour Ethereum. Les rollups exécutent les transactions hors chaîne et publient des données compressées sur la chaîne principale, en héritant de la sécurité d’Ethereum plutôt que de s’appuyer sur un ensemble distinct de validateurs.
En plus des rollups, les canaux d’état sont apparus comme une généralisation des canaux de paiement. Ils permettent n’importe quel type de changement d’état, pas seulement des transferts de jetons, de se produire hors chaîne entre les participants. Cela ouvre des possibilités d’applications au-delà des paiements simples.
Sur Bitcoin, le réseau Lightning continue d’évoluer en tant que solution principale de canal de paiement. Des réseaux de couche 2 spécifiques à Bitcoin ont aussi vu le jour, ajoutant des capacités de smart contract et reliant la liquidité de Bitcoin à d’autres écosystèmes. Chaque approche implique des hypothèses de confiance différentes : comprendre les compromis est donc important pour choisir la solution la plus adaptée.
FAQ
Qu’est-ce que la scalabilité d’une blockchain ?
La scalabilité d’une blockchain correspond à la capacité d’un réseau blockchain à gérer davantage de transactions lorsque la demande augmente. La plupart des blockchains ont des limites sur le nombre de transactions qu’elles peuvent traiter par seconde, ce qui peut entraîner de la congestion et des frais plus élevés lorsque la demande est forte.
Qu’est-ce que le trilemme de la blockchain ?
Le trilemme de la blockchain est l’idée selon laquelle une blockchain ne peut pas atteindre pleinement la scalabilité, la sécurité et la décentralisation en même temps. Améliorer l’une de ces propriétés nécessite souvent de compromettre une autre.
Quelle est la différence entre une sidechain et un canal de paiement ?
Une sidechain est une blockchain distincte qui fonctionne en parallèle avec la chaîne principale. Elle possède ses propres validateurs et règles de consensus. Un canal de paiement est un accord hors chaîne entre deux parties qui utilise un smart contract pour suivre les soldes sans nécessiter de blockchain séparée.
Le réseau Lightning est-il sûr à utiliser ?
Le réseau Lightning utilise des contrats cryptographiques pour réduire le risque de triche. Les participants qui tentent de diffuser un ancien état de canal peuvent être pénalisés par l’autre partie. Cela dit, les utilisateurs doivent garder leur nœud en ligne ou utiliser un service de watchtower pour surveiller les canaux. Comme pour toute technologie, il vaut la peine de comprendre les risques avant de l’utiliser.
Que sont les rollups et en quoi diffèrent-ils des sidechains ?
Les rollups exécutent des transactions hors de la chaîne principale, mais publient les données de transaction compressées sur celle-ci, en héritant de la sécurité de la couche de base. Les sidechains, en revanche, fonctionnent avec leur propre modèle de sécurité indépendant. Cela signifie que les sidechains peuvent être plus rapides et plus flexibles, mais elles s’appuient sur leurs propres validateurs plutôt que sur les garanties de sécurité de la chaîne principale.
Dernières réflexions
Les sidechains et les canaux de paiement font partie des premières approches visant à résoudre le problème de scalabilité des blockchains. Les deux cherchent à déplacer les transactions hors de la chaîne principale, réduisant la congestion et les frais tout en préservant l’accès à la couche de base pour le règlement.
Pour aller plus loin
Quelles sont les réseaux de couche 2 de Bitcoin ?
Rollups optimistes vs. rollups à Zéro-Savoir : quelle différence ?
Que sont les ZK-Rollups ? La technique de scalabilité de couche 2
Qu’est-ce que Ethereum et comment fonctionne-t-il ?
Preuve de travail (Proof of Work) expliquée
Avertissement : ce contenu vous est présenté « en l’état », uniquement à titre d’information générale et d’objectif pédagogique, sans aucune déclaration ni garantie d’aucune sorte. Il ne doit pas être interprété comme un conseil financier, juridique ou autre conseil professionnel, ni comme une recommandation d’achat d’un produit ou service spécifique. Vous devez demander votre propre avis à des conseillers professionnels appropriés. Lorsque le contenu provient d’un contributeur tiers, veuillez noter que les points de vue exprimés appartiennent à ce contributeur tiers et ne reflètent pas nécessairement ceux de Binance Academy. Les prix des actifs numériques peuvent être volatils. La valeur de votre investissement peut diminuer ou augmenter et vous pourriez ne pas récupérer le montant investi. Vous êtes seul responsable de vos décisions d’investissement et Binance Academy n’est responsable d’aucune perte que vous pourriez subir. Pour plus d’informations, consultez nos Conditions d’utilisation, l’Avertissement relatif aux risques et les Conditions de Binance Academy.
