Les sidechains

Le monde de la crypto regorge de concepts plus ou moins accessibles pour le commun des mortels. Nous l’avons vu avec les assets synthétiques ou les smart contracts. Nous allons aujourd’hui parler des parachains. Les chaînes sont un enjeu majeur de la crypto car elles vont avoir de nombreuses applications qui vont conditionner l’évolution du secteur, comme nous le détaillerons dans cet article.

Histoire des chaînes

Comment fonctionne une chaîne ?

Avant toute chose, il convient de définir la blockchain, car tout le reste de cet article repose sur son concept. La blockchain est un registre de stockage et de transmission de données décentralisé, qui dépend donc d’un consensus sans organe de contrôle centralisateur. C’est un réseau transparent qui regroupe toutes les transactions passées et ce registre est consultable par tout le monde, à tout moment et à l’aide d’une simple connexion à internet.

Comment elle fonctionne dans le détail ? Premièrement, les transactions sont regroupées par blocs. Ce qui veut dire que votre transaction sera incluse dans un bloc contenant d’autres transactions. Ces blocs sont ensuite validés par les nœuds du réseau, à savoir les mineurs. Pour valider les blocs, il existe différents mécanismes qui vont de la preuve de travail (PoW) à la preuve d’enjeu (PoS). La première nécessite de résoudre des problèmes arithmétiques à l’aide d’ordinateurs, la seconde nécessite de holder une certaine quantité de la monnaie en question.

De manière schématique, une blockchain est composée de deux parties :

  • Un algorithme de consensus pour la sécurité

    • Proof-of-Work

    • Proof-of-Stake

    • Proof-of-Work → Bitcoin

    • Proof-of-Stake → Ethereum 2.0

    • Proof-of-Importance → Nem

    • Delegated Proof of Stake → EOS

    • Proof-of-Capacity → Storj

    • Proof of Hold

  • Une machine à états, qui fournit les aspects de la chaîne

Aujourd’hui, les chaînes sont au centre des débats en crypto, car l’évolution de leur technologie peut amener à une meilleure scalabilité, par la délégation de certaines tâches à des chaînes parallèles.

Les sidechains pourquoi, comment ?

Commençons par une définition claire, donnée par Adam Back et son équipe, dans un article publié en 2014 que vous pouvez retrouver ici :

Une sidechain est une blockchain qui valide les données d'autres blockchains. [...] Une pegged sidechain est une sidechain dont les actifs peuvent être importés et renvoyés vers d'autres chaînes ; autrement dit, une sidechain qui prend en charge les actifs pegged à double sens. " A. Back et al. - Enabling blockchain innovations with pegged sidechains, 2014.

Les sidechains ont commencé à être nécessaire pour résoudre des problèmes de scalabilité sur les réseaux. Pour ceux qui ont besoin d’un rappel, la scalabilité est la capacité de la blockchain à fournir le même niveau de service indépendamment du nombre de transactions effectuées sur son réseau. Or les projets les plus célèbres ont dû faire face à des problèmes de latence et de congestion des réseaux qui ont nécessité des agencements afin de rester compétitifs, et surtout de pouvoir évoluer dans le temps. Nous l’avons vu récemment avec Ethereum, ce qui marchait très bien il y a un an ne marche plus compte tenu de l’afflux massif d’utilisateurs et de capitaux qui vont fatalement faire augmenter le nombre de transactions. Et quand cela arrive, un système d'enchères se met en place pénalisant l’utilisateur final qui voit ses frais de transactions exploser.

La sidechain va trouver son intérêt dans le fait de traiter certaines opérations relatives aux transactions dans une chaîne séparée de la blockchain principale. Pourquoi cela est-il intéressant ? Parce qu’en délestant la blockchain d’une partie des opérations qu’elle doit fournir pour effectuer une transaction, on en réduit sa congestion et on augmente donc fatalement sa scalabilité.

Et qui dit augmentation de sa scalabilité, dit capacité à gérer plus efficacement l’afflux de transactions, et dit donc capacité à offrir des frais de transactions moins importants.

Comment la sidechain s’articule ?

Pour réaliser des transactions de la blockchain principale vers la sidechain, le mécanisme employé est généralement le two-way peg. Ce mécanisme consiste à verrouiller l’actif en question sur la chaîne principale pour récupérer son équivalent sur la sidechain. Ce mécanisme évite les problèmes de doubles dépenses qui pourraient gravement nuire à l’intégrité de la blockchain.

La difficulté réside dans l’asymétrie de la communication entre la chaîne principale et une sidechain. En effet, la sidechain connaît l’état de sa blockchain de rattachement, mais l’inverse n’est pas vrai. Etant donné que la création de sidechains est intéressante afin de ne pas toucher à la blockchain principale tout en apportant des nouvelles fonctionnalités, la chaîne principale n’intègre pas les règles de consensus de la chaîne secondaire. C’est pour remédier à cela que le mécanisme two-way-peg a été créé. Par le concours d’une fédération de noeuds qui vont chacun posséder une clé de la clé privée du wallet multi-signatures et donc attester de l’existence des fonds sur la chaîne principale, tout en autorisant leur utilisation sur la sidechain.

Mais comment récupérer l’historique des transactions de la sidechain sur la chaîne principale si cette dernière n’a pas connaissance de la totalité de la sidechain ? C’est là qu’intervient le Cross-Chain Certificates (CCCert’s). Ces certificats sont garanties par des validateurs sur la sidechain, qui deviennent certificateur en effectuant une transaction spéciale sur la blockchain principale, verrouillant un dépôt leur donnant droit de devenir certificateur.

Ce dépôt est le garant d’une éventuelle fraude et peut servir d’une à dissuader toute tentative de falsification dans leur intérêt. En contrepartie d’une certification honnête, les certificateurs reçoivent une part des frais de transaction, comme sur la blockchain principale.

Revenons rapidement sur le mécanisme qui empêche les fraudes. Si un certificateur a verrouillé 1 BTC sur la blockchain principale, il ne pourra valider des certificats qu’à hauteur de 0,5 BTC, permettant ainsi de dissuader fortement cette manipulation, qui lui ferait perdre tout son collatéral bloqué. Bien entendu, les certificateurs se regroupent pour valider les transactions, mais le même mécanisme subsiste.

Tout comme dans beaucoup de domaines en crypto, la détection des fraudes repose sur le concept de “majorité honnête”. Cependant, il existe aussi une action rétroactive et de fortes incitations à dénoncer la fraude sous peine d’être soi-même puni. Un dernier pare-feu existe, il s’agit du “safeguard” qui vérifie que les fonds qui arrivent sur la blockchain principale correspondent aux fonds initialement déposés dessus, afin d’empêcher d’en retirer plus que ce qui a été injecté.

En se rattachant à une blockchain principale, une sidechain bénéficie de la sécurité du réseau en question, tout en lui apportant des capacités de montée en charge qui ne seraient pas envisageables autrement, du moins en l’état actuel des choses.

Prenons un exemple d’utilité des sidechains sur le réseau Ethereum. La création d’une dApp, peut, en fonction de sa popularité, entraîner une congestion du réseau. De fait, autant pour le projet que pour les développeurs de la dApp en question, une sidechain peut s’imposer.

Au niveau sécurité, l’avantage d’une sidechain c’est que le réseau sera sécurisé par la blockchain principale, permettant ainsi de réduire l’impact de l’arrivée d’un nouveau projet dans l’écosystème. Prenons un exemple si ce n’était pas le cas :

Lorsqu’un nouveau projet se lance, il vient en quelque sorte faire concurrence aux ressources de sécurité disponibles dans l‘écosystème blockchain. Prenons l’exemple du Proof-of-Work. Si nous partons du principes qu’il y a 1000 ordinateurs validateurs (pour l’exemple), et qu’ils sont répartis tels quels :

  • Projet 1 : 350 ordinateurs

  • Projet 2 : 650 ordinateurs

L’arrivée d’un projet 3 va forcément drainer de la puissance de calcul vers ce nouveau projet, créant ainsi une nouvelle répartition qui va être défavorable à l’un des projets, voire les deux.

Bien entendu une sidechain peut avoir son propre mécanisme de consensus, mais cela nécessite des ressources supplémentaires, chose qui n’a pas lieu d’être lorsqu’elle utilise la technologie du merge mining qui consiste à récupérer de la puissance de calcul directement sur le réseau validateur de la blockchain principale. (Première utilisation par Namecoin en 2011).

L’avantage certain du merge mining est de libérer le projet de la pression de trouver un consensus fort pour fonctionner. Grâce à cela, les sidechains peuvent être implémentées plus rapidement et sans risque pour la sécurité des données et transactions effectuées.

Les sidechains d’un point de vue du développement

En divisant son réseau en deux blockchains, un projet se prémunit contre les risques d’attaques du réseau. En effet, en quelque sorte il double la complexité de mener une attaque en doublant le nombre d’opérations nécessaires à la réalisation de celle-ci. Notez qu’une attaque sur une sidechain n’affectera pas la blockchain principale. C’est pour ça que les sidechains sont aussi utilisées pour tester des nouvelles fonctionnalités qui sont parfois au stade expérimental, et pour lesquelles il existe un risque de défaillance technique. Afin de ne pas impacter le réseau fonctionnel du projet, une sidechain est créée car elle présente les avantages, dans ce cas, de donner accès à toutes les fonctionnalités du réseau tout en permettant le fonctionnement en silo, une condition importante pour tester en direct et sans conséquences des nouvelles fonctionnalités.

Une sidechain a un coût de mise en place non négligeable, mais c’est aussi la garante d’en l’expansion d’un projet. L’idée a beau être magnifique, si le projet n’est pas en mesure d’assurer une expansion saine de son réseau, il sera progressivement abandonné par une partie de ses utilisateurs qui ne trouvent pas ce qu’ils recherchent, à savoir la scalabilité du réseau.

L’interopérabilité

Si on considère que les sidechains remplissent leur rôle de désengorgement du réseau afin d’en assurer la meilleure scalabilité possible, il reste un enjeu majeur à prendre en compte : l'interopérabilité des réseaux. En multipliant les chaînes, nous prenons le risque de cloisonner le réseau, or nous savons que l’heure est au décloisonnement. L’enjeu d’interopérabilité est donc primordial pour offrir la meilleure fluidité possible sans se limiter aux données présentes sur un seul réseau.

C’est clairement un des enjeux phares de la crypto à l’heure actuelle et les projets, quand ils sont sérieux, ne construisent plus d'infrastructures cloisonnées, mais raisonnent en interopérabilité. C’est le cas notamment de Polkadot que nous allons rapidement aborder ci-dessous.

Focus sur les parachains

Pour ceux qui ne le savent pas, l’objectif de Polkadot est de favoriser l'interopérabilité entre les différentes blockchains en leur permettant ainsi de co-construire leur développement en ayant la possibilité de simplement échanger des données.

Nous entendons beaucoup parler des parachains avec la popularité du réseau Polkadot, cependant ce n’est pas le seul projet à les utiliser. Ces chaînes se retrouvent dans beaucoup de projets sous le nom de sidechain. Notez simplement qu’une parachain est le nom d’une sidechain mais relatif à l’écosystème de Polkadot. Polkadot fait beaucoup pour les sidechains et représente aujourd’hui un acteur majeur, incontestablement.

.

Une parachain n'est autre qu’une chaîne secondaire sur Polkadot C’est là aussi une une chaîne parallèle à la blockchain principale. Leur utilité première est de permettre d’allouer chaque parachain à un rôle spécifique, permettant ainsi de désengorger la chaîne principale en allouant des tâches à des chaînes secondaires

Dans le cas de Polkadot, la chaîne principale fournit la sécurité au réseau, tandis que les parachains vont venir se rattacher à cette Relay Chain (nom de la chaîne principale sur Polkadot). Cela ressemble en tous points à une blockchain, mais cela n’a pas besoin d’en être totalement une. Cependant, elle reste vérifiable via les validateurs de la blockchain principale, ceci est évidemment primordial.

Elle va fonctionner en arrière plan d’une blockchain principale, et va lui “rendre service” en offrant de traiter des données de son côté.

Comme pour les sidechains, les parachains peuvent aussi avoir leur token natif, et de fait leur propre fonctionnement sans que cela n’impacte le réseau principal. Cependant, ceci n’est pas une obligation.

D’autres technologies relativement similaires existent, comme les parathreads. On les retrouve dans le projet Polkadot. Leur utilité est grosso modo la même, à la différence près que les parachains doivent louer des emplacements dédiés, tandis que les parathread n’ont pas besoin de cela. Ils fonctionnent sur le modèle du “pay-per-use”.

Comme pour communiquer entre les blockchains différentes, les parachains utilisent un pont (ou bridge en anglais) qui lui permet d’entrer en relation avec les autres blockchains de l’écosystème crypto.

Exemple d’une parachain

Pour vous donner un exemple concret d’une parachain. Nous pouvons parler de Moonbeam. Cette parachain est construite sur Polkadot, et fournit un environnement pour développer des smart contracts open source compatibles avec ETH.

Cette parachain possède sa propre économie et son token natif, le GLMR.

Quel est l’avantage de cette parachain ? Elle offre aux développeurs la possibilité de créer des applications décentralisées (dApps) cross-chain. Ainsi, contrairement aux applications construites sur le réseau ETH, un développeur aura l’occasion d’étendre la portée de son produit à différentes blockchains, sans se soucier des problèmes de compatibilité.

De nombreux projets sont ensuite venus se greffer à cette parachain, parmi lesquels :

  • The Graph

  • Covalent

  • Balancer

  • SushiSwap

  • MetaMask

  • Chainlink

  • Band Protocol

  • Polkastarter

Des exemples de sidechains

Rootstock, le Bitcoin au goût du jour

Rootstock est un gros projet pour le Bitcoin. Il s’agit d’une sidechain qui devra permettre l’élaboration de smart contracts et leur sécurisation. Nous avions vu que les smart contracts étaient majoritairement développés sur Ethereum, bien que d’autres blockchains commencent à grappiller des parts de marché. Cependant, le Bitcoin reste pour l’instant à part dans cette course et ce projet pourrait permettre de rattraper le retard en matière de smart contracts.

Les applications potentielles sont déjà importantes, nous retrouvons par exemple :

  • Échanges décentralisés

  • Smart contracts divers

  • Micro-paiements rapides et sans frais

  • Gouvernance

  • Création d’assets synthétiques

Enfin bref, tout ce qu’on peut retrouver sur d’autres blockchains, et le tout évidemment compatible avec Ethereum pour ne pas enfermer les développeurs et utilisateurs dans un vase clos.

La sidechain a sa propre économie et son propre token, le RSK, et son Bitcoin wrappé, qui s'appelle le RBTC (Smart Bitcoin).

Leur stratégie de merge-mining permet d’utiliser la puissance de calcul présente sur le réseau Bitcoin traditionnel pour sécuriser la sidechain RSK. De fait, il n’y a pas de concurrence relative à la puissance de calcul et les mineurs y trouvent même un intérêt via les frais de transactions supplémentaires qu’ils collectent.

Le Bitcoin possède aussi une deuxième sidechain fonctionnelle qui s’appelle Liquid et qui a pour but de faciliter certains types de transactions entre certains acteurs de l’écosystème. Elle a aussi son propre token, le LBTC.

L’avenir du Bitcoin ?

Et si l’avenir du Bitcoin passait par la réunification de deux de ses technologies les plus prometteuses ? Pour rappel, le problème de scalabilité sur le Bitcoin est attaqué selon deux angles d’approche :

  • Le Lightning Network

  • Les sidechains

Le Lightning Network est une surcouche du BTC dont le but est de permettre des transactions rapides et à moindre frais (l’éternelle problématique). Cette technologie propose aux utilisateurs d’ouvrir des canaux de paiements bidirectionnels qui consistent à mettre des fonds sous séquestre dans un wallet multisig pour effectuer des transactions avec un interlocuteur identifié. Comment sont bloqués ces fonds dans la pratique ? Par le concours d’une fédération de noeuds qui vont chacun posséder une clé de la clé privée du wallet multi-signatures. Ce système entraîne une centralisation partielle qui peut être atténuée par l'utilisation d’un mécanisme connu sur les drivechains expérimental : À savoir faire revenir cette décision aux mineurs à l’issu d’un vote. L’idéal serait probablement un mix des deux afin de limiter le poids des uns et des autres dans la gestion des fonds.

Les frais sont absolument ridicules (1 satoshi), et les transactions se faisant off-chain, la rapidité ne dépend que du temps de latence du réseau. Il n’y a donc pas d’effet d’enchères sur les transactions qui obligerait à augmenter toujours plus ses frais pour avoir une chance de voir sa transaction réussir. Pour créer un canal, il faut :

  • Une transaction d’ouverture (quand on veut ouvrir le canal)

  • Une transaction d’engagement (qui garantie l’intégrité des transactions off-chain)

  • Une transaction de fermeture (quand on veut arrêter le canal)

Il faut noter que le Lightning Network ne nécessite pas forcément un canal direct entre deux personnes. En effet, admettons que A ait un canal avec B et B ait un canal avec C. Si A veut envoyer de l’argent à C, il se servira de son canal ouvert avec B et du canal ouvert entre B et C pour faire cette transaction. Sachant qu’ici B n’agit que comme un intermédiaire (un nœud) et n’a pas le contrôle des fonds qui transitent.

Si le Lightning est intéressant, une augmentation drastique des frais de transactions pourrait rendre rédhibitoire l’utilisation de ce moyen, d’autant plus qu’il présente quelques désavantages :

  • Possibilité d’envoyer des fonds seulement aux personnes avec qui on a un canal bidirectionnel ou avec qui on peut trouver un chemin. Dans tous les cas, il y a une nécessité à ce que la personne soit partie intégrante du réseau

  • Décentralisation limitée du réseau

De fait, la complémentarité des sidechain et du Lightning Network semble être une voie exploitable à l’avenir. En effet, si les sidechains ne connaissent pas de problèmes de scalabilité, mieux vaut penser leur saturation dès maintenant plutôt qu’avoir à le faire dans l’urgence.

Conclusion

Comme souvent en crypto, tout est affaire de scalabilité, de sécurité et de rapidité. Les sidechains ne dérogent pas à la règle et constituent des solutions très intéressantes pour rendre la blockchain plus souple et plus malléable, tout en lui offrant une scalabilité accrue. Comme nous avons pu le voir avec Polkadot, le sujet est tendance et à juste titre, fondamentalement, les sidechains sont l’avenir de la blockchain et permettent de regarder plus loin que l’état actuel du marché. De fait, il y a fort à parier que nous les verrons prendre encore plus d’ampleur et de complexité, pour amener à un état où les blockchains seront fluides et interopérables, faisant gagner en confort à l’usager final, et rendant la crypto plus accessible au plus grand nombre.

Last updated