Sidechains, Drivechains et Bitcoin
Acheter Bitcoin (BTC)
Publicité eToro
Le Bitcoin, ainsi qu'une grande partie des crypto-actifs basés sur la blockchain, peuvent être agrémentés de différents accessoires permettant de les améliorer, tels que les sidechains ou les drivechains.
Les sidechains, ou chaînes latérales, sont des chaînes de blocs secondaires qui fonctionnent de manière parallèle à une autre chaîne de blocs dite « principale ». En permettant de réaliser des opérations en marge de la chaîne principale, les sidechains apportent énormément en terme de scalabilité et de fonctionnalités. À l'instar du réseau Lightning, elles font partie des solutions de seconde couche privilégiées pour permettre à Bitcoin de passer à l'échelle.
D'autres projets que Bitcoin prévoient d'utiliser les chaînes latérales, notamment les plateformes d'application décentralisées. On peut citer Ethereum avec le protocole Plasma, EOS ou encore Lisk qui utilise une chaîne latérale pour chacune de ses dApps.
Le concept de chaîne latérale n'est pas nouveau. Il a commencé à être développé à partir de 2012 et a été formalisé en octobre 2014 par des développeurs de Blockstream dans un document intitulé « Enabling Blockchain Innovations with Pegged Sidechains ». Et en novembre 2015, un chercheur du nom de Paul Sztorc a introduit un nouveau concept appelé Drivechain, qui délègue aux mineurs la sécurisation des transferts de bitcoins de chaîne à chaîne et qui pourrait bien améliorer la mise en place des chaînes latérales.
Qu'est-ce qu'une sidechain ?
Une sidechain (chaîne latérale en français) est une chaîne de blocs parallèle à une autre qui permet de transférer des actifs d'une chaîne à l'autre sans mettre en jeu l'intégrité des actifs déplacés. Ces transferts fonctionnent en verrouillant l'actif dans une transaction sur la chaîne principale, et en créant une transaction sur la chaîne latérale qui décrit l'actif verrouillé. En règle générale, on procède à un ancrage bilatéral (two-way peg), qui permet à l'actif transféré sur la chaîne latérale d'être transféré à nouveau sur la chaîne principale.
Dans le cas du réseau Bitcoin, c'est le bitcoin (BTC) lui-même qui est "transféré" sur la chaîne latérale pour y être utilisé (bien qu'en réalité, le procédé soit plus complexe qu'un simple transfert).
Les chaînes latérales apportent deux avantages majeurs :
- Une augmentation de la scalabilité. Bitcoin est aujourd'hui limité à un nombre restreint de transactions par seconde (6 tps à l'heure actuelle). En permettant de détourner une partie de l'activité économique sur une chaîne parallèle, les chaînes latérales donneraient à Bitcoin une meilleure capacité à passer à l'échelle supérieure.
- Une extension des fonctionnalités. De par sa nature décentralisée, le protocole Bitcoin est difficile à changer et il est difficile d'y inclure des fonctionnalités supplémentaires. Heureusement, certaines fonctionnalités avancées pourront être implémentées dans des chaînes latérales spécifiques. On pourrait ainsi avoir une chaîne pour les contrats autonomes avancés, une chaîne pour les micropaiements, une chaîne pour les versions bêta de Bitcoin, etc.
Fonctionnalités potentielles des chaînes latérales / © Blockstream.com
Bitcoin possède actuellement deux chaînes latérales en activité. La première est RSK (aussi connue sous le nom de Rootstock), qui est une chaîne latérale focalisée sur l'exécution de contrats autonomes (smart contracts) Turing-complets et qui ressemble beaucoup à Ethereum. Le jeton correspondant, dont la valeur est fixée à celle du bitcoin par ancrage bilatéral, est le Smart Bitcoin (RBTC). La seconde est Liquid, une chaîne latérale développée par Blockstream, dont le but est de faciliter les transactions entre les différents acteurs financiers du secteur comme les plateformes d'échange. Le jeton correspondant est le Liquid Bitcoin (L-BTC).
Une chaîne latérale peut avoir son propre mécanisme de consensus : par preuve de travail, par preuve d'enjeu, ou via un consortium d'un nombre restreint d'acteurs, etc. En principe, elle ne génère pas de nouveaux jetons, et son modèle de sécurité repose donc sur les frais de transactions.
Une chaîne latérale peut également utiliser le minage combiné (merged mining). Cette méthode permet aux mineurs de miner plusieurs chaînes à la fois et a été implémentée pour la première fois par Namecoin en 2011. Plus précisément, pour les sidechains, il s'agit de réutiliser les preuves de travail partielles de la chaîne principale comme preuves de travail pour la (ou les) chaîne(s) latérale(s).
Dans le cas de Bitcoin, la chaîne latérale Liquid utilise une fédération (« Strong Federation ») d'acteurs de l'écosystème financier, dont notamment les plateformes d'échanges. RSK, quant à elle, possède un mécanisme de consensus hybride qui allie minage combiné et fédération de "notaires".
Qu'est-ce que l'ancrage bilatéral ? (two-way peg)
Le propriété essentielle sur laquelle repose les chaînes latérales est l'ancrage bilatéral (two-way peg) qui a besoin d'être mis en place pour transférer les actifs d'une chaîne à l'autre. En effet, si l'on veut avoir un système qui garde sa cohérence économique, il faut pouvoir déplacer l'actif concerné dans les deux sens. Par exemple, si la prix du bitcoin de la chaîne Liquid (L-BTC) baisse par rapport à celui du bitcoin sur la chaîne principale (BTC), il est essentiel que les acteurs du marché puissent arbitrer la situation en transformant des L-BTC en BTC, et ainsi rétablir l'équilibre des prix.
Le transfert de la chaîne principale vers la chaîne latérale (main-to-side) est facile à mettre en place des deux côtés. Puisque la chaîne latérale est toujours au courant de ce que fait la chaîne principale, les nœuds de la chaîne latérale peuvent interpréter les données contenues dans la transaction de sortie selon leurs règles.
De même, le transfert de la chaîne latérale vers la chaîne principale (side-to-main) est plutôt facile à mettre en place du côté de la chaîne latérale : cela fait partie intégrante des règles locales.
En revanche, ce qui est difficile à faire est de mettre en place ce transfert sur la chaîne principale. En effet, la chaîne principale n'a pas à avoir connaissance de la chaîne latérale à qui elle est liée. Dans le cas contraire, elle devrait intégrer certaines des règles de consensus de la chaîne latérale dans ses propres règles de consensus (« SPV proof »), et ainsi détruire (au moins partiellement) les avantages liés à l'utilisation des chaînes latérales cités plus haut. C'est donc le caractère optionnel de la chaîne latérale qui rend l'ancrage compliqué.
Chaîne principale | Chaîne latérale | |
Transfert main-to-side | Facile | Facile |
Transfert side-to-main | Difficile | Plutôt facile |
L'ancrage bilatéral pourrait être réalisé par l'intermédiaire un tiers unique qui garderait les actifs (une plateforme d'échange par exemple) mais il est évident que cela n'est pas très sécurisé. À cela, il est souvent préféré d'utiliser une fédération de nœuds de la chaîne latérale parfois appelés « notaires » pour conserver les actifs. Dans le cas de Liquid, c'est la même fédération qui assure le consensus et qui garde les bitcoins. Essentiellement, les bitcoins sont mis en séquestre dans un contrat autonome de multi-signature nécessitant les signatures d'un nombre fixe de membres de la fédération. Ce contrat permet aussi de récupérer les fonds en cas de problème.
Un tel ancrage peut avoir lieu de la manière suivante :
- Un utilisateur verrouille des bitcoins sur la chaîne principale. Comme on l'a dit, il peut s'agir d'une adresse simple (tiers unique) ou d'un contrat autonome nécessitant un certain nombre de signatures provenant d'une fédération de nœuds de la chaîne latérale.
- L'utilisateur doit ensuite attendre les confirmations nécessaires pour que la transaction soit considérée comme finale. Le nombre de confirmations peut être très élevé : pour Liquid, 102 confirmations sur la chaîne de Bitcoin sont nécessaires.
- L'utilisateur est crédité des jetons équivalents sur la chaîne latérale (ici S-BTC pour side-bitcoin). Ces jetons sont créés pour l'occasion.
- L'utilisateur peut utiliser ses bitcoins transformés sur la chaîne latérale, par exemple en envoyant un S-BTC à une autre personne.
- Cette autre personne souhaite convertir ce S-BTC. Pour cela, elle brûle le jeton conformément aux règles de consensus de la chaîne latérale.
- Elle doit ensuite attendre les confirmations sur la chaîne latérale : 2 confirmations dans le cas de Liquid.
- L'autre personne récupère son bitcoin à partir des bitcoins précédemment verrouillés. Les nœuds de la fédération vérifient que sa transaction est valide (qu'elle a bien brûlé le S-BTC) et déverrouillent le bitcoin sur la chaîne principale.
Qu'est-ce que Drivechain ?
Drivechain est un protocole développé par Paul Sztorc permettant de créer des chaînes latérales pour Bitcoin et ses dérivés. Comme son nom l'indique (drive chain signifie chaîne de transmission), il s'agit d'un protocole de transmission qui donne aux mineurs de Bitcoin le contrôle sur les fonds verrouillés dans l'ancrage bilatéral. Par extension, certains appellent drivechains les chaînes latérales qui suivent ce protocole. Drivechain est souvent associé au minage combiné, ce qui permet d'inciter les mineurs à participer.
L'ancrage se passe comme dans la partie ci-dessus, à l'exception près que le déverrouillage des bitcoins dépend des mineurs et non d'une fédération de nœuds. Pour choisir quelle quantité de bitcoin déverrouiller et à qui les envoyer, les mineurs procèdent à un vote dépendant de leur puissance de calcul.
Cela paraît risqué, mais, selon Paul Sztorc, la sécurité serait équivalente au modèle actuel de Bitcoin. Les transferts side-to-main n'auraient lieu que tous les 3 mois environ, ce qui laisserait le temps aux utilisateurs de vérifier que les mineurs ne trichent pas et ne volent pas les bitcoins. Les transferts plus rapides, quant à eux, se feraient par atomic swaps ou échanges traditionnels.
Drivechain est pour l'instant encore à l'état expérimental et n'est actif que sur le testnet de Bitcoin. Cependant, il s'avère que RSK utilise actuellement ce protocole de façon partielle : la garde des bitcoins verrouillés est en effet confiée à système hybride prenant en compte de manière pondérée le vote des mineurs et le vote des notaires de la fédération. Le poids du vote des mineurs dépend de leur engagement dans le minage combiné : si il est nul, le vote des mineurs n'a pas d'influence ; s'il est total, c'est le vote des notaires qui n'a pas d'influence.
Enfin, notez que deux changements optionnels pourraient être apportés à Bitcoin pour rendre Drivechain plus efficace : la mise en main tierce du taux de hachage (hashrate escrow) et le minage combiné aveugle (blind merged mining).
Conclusion
Les chaînes latérales forment donc un aspect intéressant de la technologie blockchain qui n'est pourtant pas nouveau. Si elles parvenaient à se démocratiser, elles pourraient apporter beaucoup à Bitcoin tant au niveau de la scalabilité que des fonctionnalités offertes. Bitcoin n'a pour l'instant que deux chaînes latérales connues, RSK et Liquid, mais le protocole Drivechain pourrait bien changer les choses à l'avenir en rendant la création de chaînes latérales facile et sécurisée.
Pour aller plus loin
RSK, Sidechains, Drivechains, and RSK 2-Way peg Design.
Morgan Phuc, Rootstock (RSK) - Des smart contracts pour Bitcoin, 31 octobre 2017.
Joe Kendzicky, Exploring Liquid Sidechain, 15 novembre 2018.
[Vidéo] Paul Sztorc, Drivechain - Overview and Misconceptions, 4 février 2018.
Drivechain FAQ, avril 2018.