Indice:
Introduire
Trois problèmes difficiles lors de l'expansion de la Blockchain
Quelles sont les solutions de mise à l’échelle hors chaîne ?
Introduction aux sidechains
Qu’est-ce que la Sidechain ?
Comment fonctionne une sidechain ?
Pourquoi les sidechains sont-ils utilisés ?
Introduction aux canaux de paiement
Qu'est-ce qu'un canal de paiement ?
Comment fonctionnent les canaux de paiement ?
Acheminement des paiements
Résumé
Introduire
L'évolutivité est la capacité du système à croître pour répondre aux besoins croissants en matière de transactions. Avec les ordinateurs, vous pouvez augmenter les performances en mettant à niveau le matériel pour effectuer certaines tâches plus rapidement. Lorsque nous parlons d'évolutivité dans les blockchains, nous parlons d'augmenter la capacité de traiter plusieurs transactions en même temps.
Les protocoles tels que Bitcoin présentent de nombreux atouts, mais l'évolutivité n'en fait pas partie. Si Bitcoin était une base de données gérée de manière centralisée, il serait facile d'augmenter la vitesse et le débit du réseau. Mais la proposition de valeur de Bitcoin (résistance à la censure) exige que plusieurs participants synchronisent une copie de la blockchain.
Trois problèmes difficiles lors de l'expansion de la Blockchain
L'exploitation d'un nœud Bitcoin est relativement bon marché, et même des appareils simples peuvent le faire. Mais comme des milliers de nœuds doivent se mettre à jour les uns les autres, leur capacité est limitée.
La chaîne a une capacité limitée à gérer les volumes de transactions afin de ne pas permettre à la base de données de croître jusqu'à atteindre une taille encombrante. Si les transactions sont trop volumineuses et trop rapides, les nœuds ne pourront pas suivre le rythme. De plus, si les blocs sont trop volumineux, ils ne peuvent pas être relayés rapidement dans le réseau.
En conséquence, nous nous retrouvons confrontés à une sorte de goulot d’étranglement. Une blockchain peut être considérée comme un service de train qui part à des heures programmées. Chaque voiture dispose d'un nombre limité de sièges et pour obtenir un billet, les passagers doivent enchérir pour obtenir une place. Si tout le monde essaie de monter dans le train en même temps, le prix du billet sera élevé. De même, un réseau encombré de transactions en attente obligera les utilisateurs à payer des frais plus élevés pour que leurs transactions soient traitées.
Une solution consiste à agrandir les wagons. Cela signifie plus de sièges, un débit plus élevé et des tarifs moins chers. Mais rien ne garantit que les sièges ne seront pas pourvus comme avant. Les voitures ne peuvent pas être étendues de manière permanente, et les blocs ou leurs limites de carburant ne peuvent pas non plus être étendues indéfiniment. La deuxième chose est que la maintenance de nœuds uniques sur le réseau coûtera plus cher, car ils auront besoin d'un matériel plus coûteux pour rester synchronisés.
Le créateur d'Ethereum, Vitalik Buterin, a inventé le trilemme d'évolutivité pour décrire le défi auquel sont confrontées les blockchains. Il théorise que les protocoles doivent toujours faire des compromis entre évolutivité, sécurité et décentralisation. Ils sont toujours en contradiction les uns avec les autres – si l’on se concentre trop sur deux des attributs, le troisième sera diminué.
Pour cette raison, de nombreuses personnes considèrent l'évolutivité comme quelque chose qui doit être réalisé hors chaîne, tandis que la sécurité et la décentralisation doivent être maximisées sur la blockchain elle-même.
Quelles sont les solutions de mise à l’échelle hors chaîne ?
La mise à l'échelle hors chaîne décrit des approches qui permettent d'effectuer des transactions sans gonfler la blockchain. Les protocoles en chaîne permettent aux utilisateurs d'envoyer et de recevoir des fonds sans que les transactions n'apparaissent sur la chaîne principale. Nous examinons les deux solutions les plus notables sur ce front : les sidechains et les canaux de paiement.
Introduction aux sidechains
Qu’est-ce que la Sidechain ?
Chaque sidechain est une blockchain distincte. Cependant, il ne s’agit pas d’une plate-forme indépendante, car elle est liée d’une manière ou d’une autre à la chaîne principale. La chaîne principale et la chaîne latérale sont interopérables, ce qui signifie que le contenu peut circuler librement d'une blockchain à l'autre.
Il existe plusieurs façons de garantir que les fonds peuvent être transférés dans les deux sens. Dans certains cas, les actifs sont retirés de la chaîne principale en étant déposés à une adresse spéciale. Ils ne sont pas réellement envoyés, mais sont verrouillés à cette adresse et un montant approprié est libéré sur la sidechain. Un moyen plus simple (bien qu’il s’agisse d’une option centralisée) consiste à déposer des fonds auprès d’un dépositaire, qui échangera le dépôt contre des fonds sur la sidechain.
Comment fonctionne une sidechain ?
Supposons qu'Alice possède cinq bitcoins. Elle souhaite les échanger contre cinq unités équivalentes sur une sidechain Bitcoin – appelons-les sidecoins. La sidechain en question utilise un ancrage bidirectionnel, ce qui signifie que les utilisateurs peuvent transférer leurs actifs de la chaîne principale à la sidechain et vice versa.
N'oubliez pas que la sidechain est une blockchain distincte. Il disposera donc également de blocs, de nœuds et de mécanismes d'authentification. Pour obtenir ses sidecoins, Alice lui envoie cinq bitcoins à une autre adresse. La personne qui les recevra ajoutera ensuite ces 5 sidecoins à son adresse une fois qu'elle aura reçu les bitcoins. De plus, il pourrait avoir une sorte de configuration pour augmenter la fiabilité : le logiciel ajoute automatiquement des sidecoins une fois qu'il détecte une transaction de paiement.

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 a rejoint la sidechain, elle peut librement effectuer des transactions sur cette blockchain distincte. Elle peut envoyer des sidecoins ou en recevoir d’autres, tout comme elle le fait sur la chaîne principale.
Par exemple, elle pourrait payer à Bob un sidecoin pour une veste Binance. Lorsqu’elle souhaite récupérer ses Bitcoins, elle peut envoyer ses quatre sidecoins restants à une adresse spéciale. Une fois la transaction confirmée, les quatre bitcoins sont débloqués et transférés à une adresse qu'elle contrôle sur la chaîne principale.
Pourquoi les sidechains sont-ils utilisés ?
Vous vous demandez peut-être quel est le but de cela. Pourquoi Alice n'utilise-t-elle pas la blockchain Bitcoin pour plus de commodité ?
La réponse est que les sidechains peuvent faire des choses que la blockchain Bitcoin ne peut pas faire. La blockchain est un système d'échange soigneusement conçu. Bien que Bitcoin soit la cryptomonnaie la plus décentralisée et la plus sécurisée, ce n’est pas la meilleure blockchain en termes de débit. Bien que les transactions Bitcoin soient plus rapides que les méthodes conventionnelles, elles restent relativement lentes par rapport aux autres systèmes blockchain. Les blocs sont extraits toutes les dix minutes et les frais peuvent augmenter considérablement lorsque le réseau est encombré.
Certes, les petits paiements quotidiens n’ont probablement pas besoin de ce niveau de sécurité. Si Alice doit payer un café, elle ne pourra pas attendre que la transaction soit confirmée. Elle devra faire la queue et sa boisson sera froide au moment où elle arrivera.
Les sidechains ne sont pas liées par les mêmes règles. En fait, ils n'ont même pas besoin d'utiliser un mécanisme de consensus de preuve de travail pour fonctionner. Vous pouvez utiliser n'importe quel mécanisme de consensus, faire confiance à un seul validateur ou à n'importe quel nombre de validateurs. Vous pouvez ajouter des mises à niveau qui n'existent pas sur la chaîne principale, créant ainsi des blocs plus volumineux et accélérant l'exécution.
Ce qui est intéressant, c'est que même si la sidechain présente des bugs critiques, ils n'affectent toujours pas la chaîne ci-dessous. Cela leur permet d'être utilisés comme plate-forme pour tester et mettre en œuvre des fonctionnalités qui ne nécessitent pas le consensus de la majorité du réseau.
Tant que les utilisateurs sont satisfaits du compromis, les sidechains constituent un moyen efficace de faire évoluer la blockchain. Les nœuds de la chaîne principale n'ont pas besoin de stocker chaque transaction de la sidechain. Alice peut rejoindre la sidechain avec une seule transaction Bitcoin, effectuer des centaines de transactions sidecoin, puis quitter la sidechain. Dans ce processus, pour la blockchain Bitcoin, Alice n'a besoin d'effectuer que deux transactions : une pour entrer et une pour sortir.
Le Plasma d'Ethereum fonctionne de manière similaire, mais avec quelques différences majeures. En savoir plus : Qu'est-ce qu'Ethereum Plasma ?
Introduction aux canaux de paiement
Qu'est-ce qu'un canal de paiement ?
Les canaux de paiement agissent comme un canal secondaire pour aider la blockchain à accroître son évolutivité – à l’instar des sidechains, mais ils sont fondamentalement très différents. Comme les sidechains, les canaux de paiement repoussent les transactions hors de la chaîne principale pour éviter le gonflement de la blockchain. Cependant, contrairement aux sidechains, elles ne nécessitent pas de blockchain distincte pour fonctionner.
Un canal de paiement qui utilise des contrats intelligents pour permettre aux utilisateurs d'effectuer des transactions sans publier leurs transactions sur la blockchain. Pour ce faire, il utilise un accord appliqué par logiciel entre les deux participants.
Comment fonctionnent les canaux de paiement ?
Dans les modèles populaires tels que Lightning Network, deux parties déposent d'abord des fonds à une adresse qu'elles possèdent conjointement. Il s'agit d'une adresse multisignature, nécessitant deux signatures pour dépenser des fonds. Ainsi, si Alice et Bob créent une telle adresse, les fonds ne peuvent être transférés qu'avec le consentement des deux.
Supposons que chaque personne envoie 10 BTC à une adresse, et que cette adresse contient actuellement 20 BTC. Il leur serait facile de tenir un bilan indiquant clairement qu’Alice et Bob possèdent chacun 10 BTC. Si Alice voulait donner une pièce à Bob, ils pourraient la mettre à jour afin qu'elle enregistre qu'Alice avait 9 BTC, Bob avait 11 BTC. Ils n’auront pas à publier sur la blockchain même s’ils continuent à mettre à jour ces soldes.

Cependant, à un moment opportun, disons qu'Alice a 5 BTC et que Bob a 15 BTC. Ils peuvent créer une transaction qui envoie ces soldes aux adresses appartenant aux parties, la signe et l'écrit dans la blockchain.
Avant cela, Alice et Bob auraient pu enregistrer dix, cent ou mille transactions dans leur bilan. Mais pour la blockchain, ils n’effectuent que deux opérations en chaîne : une pour la transaction de dépôt initiale et une pour réaffecter le solde lorsque toutes les transactions sont terminées. En dehors de ces deux transactions, toutes les autres transactions sont gratuites et quasi instantanées car réalisées hors chaîne. Aucun frais n'est payé aux mineurs et aucune confirmation de blocage n'est nécessaire.
Bien entendu, l’exemple évoqué ci-dessus exige que les deux parties coopèrent, ce qui n’est pas une situation idéale s’il s’agit d’étrangers. Cependant, des mécanismes spéciaux peuvent être utilisés pour punir toute tentative de triche, afin que les parties puissent interagir en toute sécurité et sans confiance.
Acheminement des paiements
Évidemment, les canaux de paiement sont des outils pratiques lorsque les deux parties ont des volumes de transactions élevés. De plus, ils présentent d’autres avantages. Un réseau de chaînes peut être divisé en plusieurs parties, ce qui signifie qu'Alice peut payer un correspondant avec lequel elle n'a pas de connexion directe. Si Bob a un canal ouvert avec Carol, Alice peut la payer tant qu'elle a suffisamment de fonds. Elle poussera les pièces vers le canal de Bob, et Bob les poussera à son tour vers Carol. Si Carol est connectée à un autre participant, Dan, la même chose peut être faite.
Un tel réseau évolue vers une topologie distribuée où les utilisateurs se connectent à plusieurs pairs. Il y aura souvent plusieurs itinéraires vers une destination et l’utilisateur choisira l’itinéraire le plus efficace.
Résumé
Nous avons discuté de deux approches qui augmentent l'évolutivité de la blockchain, permettant des transactions sans alourdir la blockchain principale. La technologie sidechain et les canaux de paiement ne sont pas encore complètement matures, mais ils sont de plus en plus adoptés par les utilisateurs qui souhaitent surmonter les inconvénients des transactions de base.
À l’avenir, à mesure que davantage d’utilisateurs rejoindront le réseau, il sera important de maintenir la décentralisation. Cela ne peut être réalisé qu’en créant des limites à la croissance de la blockchain, afin que de nouveaux nœuds puissent facilement la rejoindre. Les partisans des solutions de mise à l'échelle hors chaîne estiment qu'au fil du temps, la chaîne principale ne sera utilisée que pour régler des transactions de grande valeur ou pour verrouiller l'entrée/sortie des chaînes latérales et ouvrir/fermer les canaux de paiement.



