Les multiples facettes de Bitcoin – L’or numérique et ses mystérieuses statechains
Alors que les investisseurs privés et de nombreuses sociétés se précipitent vers le Bitcoin en raison de son caractère de valeur refuge, de nombreux avancements technologiques continuent à rendre le Bitcoin de plus en plus attrayant au niveau de son potentiel programmatique, de sa confidentialité et de sa mise à l’échelle.
Dans les semaines précédentes, je vous ai présenté différents projets qui passent souvent inaperçus pour le commun des mortels, mais qui contribuent fortement à rendre le réseau robuste comme il l’est aujourd’hui. Pour ceux qui désirent plonger dans ces sujets plus en profondeur, après la lecture de cet article bien évidemment, vous pouvez vous informer au sujet de techniques d’anonymisation coinjoin ici, ou encore explorer le concept de Discreet logarithmic contracts (DLC’s) ici.
Une autre solution de seconde couche, les “Statechains”
Le sujet de cette semaine s’avère être une autre solution de seconde couche du Bitcoin appelée “Statechain”. Encore, me direz-vous ? Eh bien oui, à cause de la nature immuable de la première couche du Bitcoin et de son ossification graduelle, nous risquons d’assister à une prolifération des solutions de ce type sur le Bitcoin dans les années à suivre.
L’architecture et les concepts des secondes couches sont variés, mais tous semblent offrir sensiblement les mêmes avantages à différents degrés au niveau de la programmabilité, la mise à l’échelle et la confidentialité. Considérant que les transactions s’opérant au delà de la première couche ne sont pas inscrites directement dans le Blockchain et qu’elles ne sont pas contraintes par les règles du protocoles, il est normal de voir ce lot d’avantages être apporté par chacune de ces solutions.
La solution présentée aujourd’hui, soit le le protocol de Statechains, se vante donc également d’offrir l’ensemble de ces avantages.
La fusion de deux solutions préexistantes
La solution se fait présenter en 2018 à la conférence Scaling Bitcoin à Tokyo pour la première fois par Ruben Somsen, un développeur et recherchiste Bitcoin et fondateur du Meetup Bitcoin de Séoul. Dû au fort caractère technique de la conférence, la solution est passée légèrement inaperçue, mais a quand même su enclencher un engouement parmi la communauté plus geek du Bitcoin.
L’utilisation d’un Statechain repose sur la création d’un contrat multisignature 2-sur-2 (semblable à la création d’un canal de liquidité sur le Lightning Network), avec une entité Statechain qui elle a une structure similaire à celle d’une Sidechain fédérée.
Les Statechains sont donc souvent présentées comme une solution combinant les mécaniques du Lightning Network et d’une Sidechain Fédérée.
L’usager voulant y convertir du bitcoin, et donc un UTXO (Unspent transaction output), va simplement transférer celui-ci en transmettant la clé privée qui y est associée à l’entité Statechain, qui veillera alors à la transformer en clé transitoire au travers de leur propre signature qui y sera rajoutée.
La possession de l’UTXO est donc transférée en dehors de la première chaîne avec une garantie de rédemption de l’UTXO sur la première chaîne en cas de disparition ou de tentatives de collusion de l’entité Statechain.
Nous utiliserons un schéma pour mieux illustrer le concept. Dans l’image ci-dessous l’entité Statechain est illustrée par la lettre (A), l’usager Bob par (B) et l’usager Carole par la (C). La lettre X correspond à la clé transitoire créée grâce au protocole des Statechains.
Nous pouvons voir que les états transactionnels de la première couche du Bitcoin et du Statechain sont placés côte à côte pour illustrer leur mise à jour qui est fait de manière parallèle, ou plus précisément de manière atomique.
Bob (B) réalise une transaction Bitcoin régulière avec l’entité Statechain (A) qui veillera à intégrer la clé transitoire X dans l’UTXO particulier qui y est envoyée. Cette clé transitoire peut alors être transférée indéfiniment hors de la chaîne.
Dans ce cas-ci, dès que l’UTXO est transféré au Statechain, il se créé également une transaction prête à être publiée sur la première couche dans le cas où Bob changerais d’idée et voudrait récupérer ses fonds.
L’état transactionnel du Statechain stipulait que le dernier propriétaire de l’UTXO, et le seul pour l’instant, est Bob.
Bob peut alors transférer son UTXO à Carole (C ) pour une quelconque raison. La clé transitoire (X) lui sera donc également partagée et une transaction de rédemption de l’UTXO en attente d’être publiée sur la première couche.
Sachant que la clée transitoire (X) est maintenant connue par plusieurs usagers, ceux-ci auraient tous la capacité de réclamer l’UTXO.
C’est à ce moment que l’entité du Statechain (A) a son rôle à jouer en promettant d’appliquer sa signature correspondante au contrat multisignature seulement pour le dernier propriétaire légitime du UTXO. L’entité sert donc d’arbitre. Le risque de collusion est mitigé au travers d’une fédération et de multiples partis qui doivent approuver l’application de la signature au travers de la méthode avancée de signatures cryptographiques que sont les Adaptors Signatures.
L’entité du Statechain a également l’incitatif à être honnête, car elle est tenue de publier l’ensemble des signatures qu’elle applique. Dans un cas où elle déciderait tout de même de tricher d’une manière quelconque, la tentative de fraude serait prouvable cryptographiquement.
Dans le cas ou le Statechain disparaîtrait, le dernier usager ayant en sa possession la transaction non publiée de la première chaîne pourrait récupérer les fonds grâce à celle-ci. Toutefois, pour s’assurer qu’un usager et propriétaire antérieur de l’UTXO n’utilise pas ce stratagème pour voler les fonds, la méthode Eltoo est nécessaire. Il s’agit d’un mécanisme qui permet de sauter toutes les étapes transitoires d’un canaux de paiement et qui fut principalement développé pour le Lightning Network.
Ceci dit, la description des Statechain fut simplifiée à son maximum, mais recueille un ensemble d’innovations de tous genres telles que les Signatures Schnoor, des techniques d’anonymisations semblables au Coinjoin, la capacité de fonctionner parallèlement au Lightning Network et bien plus encore.
La théorie c’est bien, la pratique c’est mieux
L’implémentation pratique des Statechain est déjà en marche. La compagnie Commerce Block a tout récemment annoncée le lancement du Statechain ‘’Mercury’’ en mode bêta en utilisant des Bitcoin tesnet.
L’implémentation du protocol de statechain est maintenant complétée avec un API (Interface de programmation complètement fonctionnel).
L’objectif de la compagnie étant de faciliter le transfert de bitcoins d’une manière rapide à coût minime et de créer un lieu d’anonymisation dans lesquels les usagers pourront échanger leur UTXO de manière atomique (voir Atomic Swap).
Il manque encore l’interface portefeuille du côté des usagers avant d’être un projet utilisable par un plan grand nombre d’utilisateurs.
Suivez les liens plus haut pour expérimenter par vous même avec cette nouvelle technologie. En espérant qu’elle vous fascine et vous rend encore plus optimiste par rapport au Bitcoin.