Table des matières
Introduction
Le problème de la scalabilité de la blockchain
Par conséquent, nous observons un goulot d'étranglement. Une blockchain peut être considérée comme une ligne de train avec des départs à intervalles réguliers. Le nombre de places est limité dans chaque wagon, et pour obtenir un billet, les voyageurs doivent enchérir pour garantir leur place. Si tout le monde essaie de monter dans le train en même temps, le prix sera élevé. De même, un réseau encombré de transactions en attente obligera les utilisateurs à payer des frais plus élevés pour voir leur transaction incluse en temps voulu.
Le créateur d'Ethereum, Vitalik Buterin, a décrit le trilemme de la scalabilité pour décrire le défi auquel sont confrontées les blockchains. Selon sa théorie, les protocoles doivent faire des compromis entre scalabilité, sécurité et décentralisation. Ces propriétés sont corrélées négativement. Ainsi en se concentrant trop sur deux d'entre elles, la troisième sera affectée négativement.
Que sont les solutions de scalabilité hors chaîne ?
La scalabilité hors chaîne fait référence aux approches qui permettent l'exécution des transactions sans encombrer la blockchain. Les protocoles qui se branchent sur la chaîne permettent aux utilisateurs d'envoyer et de recevoir des fonds, sans que les transactions apparaissent sur la chaîne principale. Nous allons nous plonger dans deux des avancées les plus notables sur ce front : les sidechains et les canaux de paiement.
Une introduction aux sidechains
Qu'est-ce qu'une sidechain ?
Une sidechain est une blockchain distincte. Toutefois, il ne s'agit pas d'une plateforme autonome, car elle est rattachée d'une manière ou d'une autre à la chaîne principale. La chaîne principale et la sidechain sont interopérables, ce qui signifie que les actifs peuvent circuler librement de l'une à l'autre.
Comment fonctionne une sidechain ?
Supposons que notre amie Alice possède cinq bitcoins. Elle veut les échanger contre cinq unités équivalentes sur une sidechain Bitcoin, appelons-les « sidecoins ». La sidechain en question permet le transfert d'actifs de la chaîne principale vers la sidechain et vice-versa.
Alice a maintenant converti ses pièces en sidecoins, mais elle peut toujours inverser le processus pour récupérer ses bitcoins. Maintenant qu'elle est entrée sur la sidechain, elle est libre de faire des transactions sur cette blockchain séparée. Elle peut envoyer des sidecoins ou en recevoir d'autres, tout comme elle le ferait sur la chaîne principale.
Elle pourrait, par exemple, payer à Bob un sidecoin pour un sweat à capuche Binance. Lorsqu'elle voudra revenir au bitcoin, elle pourra envoyer ses quatre sidecoins restants à une adresse spéciale. Une fois la transaction confirmée, quatre bitcoins sont débloqués et envoyés sur une adresse qu'elle contrôle sur la chaîne principale.
Pourquoi utilise-t-on des sidechains ?
Vous pourriez vous demander quel est l'intérêt de faire cela. Pourquoi Alice n'utilise-t-elle pas simplement la blockchain Bitcoin ?
Néanmoins, ce niveau de sécurité n'est probablement pas nécessaire pour les petits paiements quotidiens. Si Alice paie un café, elle n'attendra pas que la transaction soit confirmée. Elle bloquerait la queue, et sa boisson serait froide au moment où on la lui donnerait.
Il est intéressant de noter que les sidechains peuvent même présenter des bogues critiques sans affecter la chaîne sous-jacente. Cela permet de les utiliser comme plateformes d'expérimentation et de déployer des fonctionnalités qui, autrement, nécessiteraient le consensus de la majorité du réseau.
À condition que les utilisateurs soient satisfaits des compromis, les sidechains peuvent faire partie intégrante d'une scalabilité réussie. Il n'est pas nécessaire que les nœuds de la chaîne principale stockent chaque transaction de la chaîne secondaire. Alice pourrait entrer sur la sidechain avec une seule transaction en bitcoins, effectuer des centaines de transactions en sidecoins, puis quitter la sidechain. En ce qui concerne la blockchain Bitcoin, elle n'en a effectué que deux : une pour entrer et une pour sortir.
Introduction aux canaux de paiement
Qu'est-ce qu'un canal de paiement ?
Les canaux de paiement ont le même but que les sidechains sur le plan de la scalabilité, mais ils sont fondamentalement très différents. Tout comme les sidechains, ils poussent les transactions hors de la chaîne principale pour éviter son encombrement. Contrairement aux sidechains, cependant, ils ne nécessitent pas de blockchain séparée pour fonctionner.
Comment fonctionne un canal de paiement ?
Disons qu'ils déposent chacun 10 BTC à une adresse qui détient maintenant 20 BTC. Il leur serait facile de tenir un bilan qui commencerait par dire qu'Alice et Bob ont chacun 10 BTC. Si Alice voulait donner une pièce à Bob, ils la mettraient à jour pour indiquer qu'Alice a 9 BTC, et Bob 11 BTC. Ils n'ont pas besoin de publier sur la blockchain car ils continuent de mettre à jour ces soldes.
Au bout d'un moment, disons qu'Alice a 5 BTC et que Bob a 15 BTC. Ils peuvent ensuite créer une transaction qui envoie ces soldes à des adresses appartenant aux deux parties, la signer et la diffuser.
Alice et Bob auraient pu enregistrer dix, cent ou mille transactions dans leur bilan. Mais en ce qui concerne la blockchain, ils n'ont effectué que deux opérations sur chaîne : l'une pour la transaction de transfert initiale et l'autre pour réaffecter les soldes une fois qu'ils ont terminé. À l'exception de ces deux-là, toutes les autres transactions sont gratuites et quasi instantanées, car elles ont lieu hors chaîne. Il n'y a pas de frais de minage à payer et aucune confirmation de bloc à attendre.
Routage de paiement
Il est évident que les canaux de paiement sont pratiques pour deux parties qui anticipent un volume élevé de transactions. Mais cela va encore plus loin. Il est possible de constituer un réseau de ces canaux, permettant à Alice de payer une partie à laquelle elle n'est pas directement connectée. Si Bob a un canal ouvert avec Carol, Alice peut la payer à condition que la capacité soit suffisante. Elle va pousser les fonds du côté de Bob qui, à son tour, va les pousser du côté de Carol. Si Carol est connecté à un autre participant, Dan, la même chose peut être faite.
Un tel réseau évolue vers une topologie distribuée où chacun se connecte à plusieurs pairs. Il existe souvent plusieurs itinéraires vers une destination et les utilisateurs peuvent choisir celle qui leur convient le mieux.
Pour conclure
Nous avons discuté de deux approches de scalabilité qui permettent d'effectuer des transactions sans encombrer la blockchain sous-jacente. Les sidechains et la technologie des canaux de paiement doivent encore arriver à maturité, mais ils sont de plus en plus utilisés par les utilisateurs qui souhaitent contourner les lacunes des transactions de la couche de base.
À mesure que le temps passe et que de nouveaux utilisateurs rejoignent le réseau, il est important que la décentralisation soit maintenue. Pour ce faire, il suffit d'appliquer des limites à la croissance de la blockchain afin que les nouveaux nœuds puissent facilement s'y joindre. Les partisans des solutions de scalabilité hors chaîne estiment qu'à terme, la chaîne principale ne sera plus utilisée que pour régler les transactions de grande valeur, ou pour le transfert depuis et vers les chaînes latérales et l'ouverture/fermeture des canaux.