Rejoignez-Nous sur

Statechains: Envoi de clés, pas de pièces, pour mettre à l'échelle Bitcoin hors chaîne

News

Statechains: Envoi de clés, pas de pièces, pour mettre à l'échelle Bitcoin hors chaîne

L'espace de blocage est limité: la blockchain Bitcoin ne peut traiter qu'une dizaine de transactions par seconde au maximum. Pour résoudre ce problème, la communauté technique de Bitcoin développe des protocoles de seconde couche qui traitent les transactions «hors chaîne», telles que Réseau Lightning et sidechains. En utilisant des astuces cryptographiques astucieuses, ces transactions sont mises en lots pour s'installer périodiquement dans la blockchain de Bitcoin en une seule transaction.

Maintenant, un nouveau protocole de deuxième couche entre en scène. Statechains, proposé en premier par Séoul Bitcoin Meetup organisateur et Podcast Unhashed Ruben Somsen, coanimateur, renverse le concept de transaction Bitcoin. Au lieu d’envoyer des pièces d’une adresse à une autre, les utilisateurs de statechain n’envoient que la clé privée qui peut être utilisée pour dépenser les pièces.

Voici pourquoi ce n’est pas aussi fou que cela puisse paraître.

Pourquoi les Statechains sont sécurisés (plus ou moins)

Simplifiée, une transaction Bitcoin n’est qu’un message indiquant quelles pièces («UTXO») se déplacent, à partir desquelles des adresses («entrées») vers lesquelles des adresses («sorties»). Ce message est signé de manière cryptographique avec les clés privées correspondant aux adresses d'envoi, ce qui prouve que le propriétaire de ces pièces a créé la transaction. Le paquet (la transaction plus les signatures) est ensuite envoyé sur le réseau Bitcoin pour éventuellement être inclus dans un bloc Bitcoin par un mineur.

Il est techniquement possible d'envoyer simplement des clés privées en guise de paiement: cela permet au destinataire de la clé privée de dépenser les pièces associées. Mais ce n'est pas sécurisé. Si l’envoyeur – appelons-le «Alice» – envoie une clé privée au destinataire – pourquoi ne pas l’appeler «Bob»? – Bob n’a aucun moyen de s’assurer qu’Alice n’a pas gardé une copie de la clé. Si elle conserve une copie de la clé, que nous appellerons la «clé transitoire» dans ce contexte, Alice peut toujours dépenser la pièce sur la blockchain, la pièce n’est donc pas exclusivement de Bob.

La première solution de Statechains à ce problème consiste à ajouter une deuxième clé au mélange. En verrouillant la pièce dans une configuration à plusieurs signatures (multisig) deux sur deux, elle ne peut être déplacée sur la chaîne de blocs que si les deux clés signent un accord.

Cette deuxième clé est générée par un parti neutre, Victor, qui devient le facilitateur de la chaîne de statistiques. Victor a une tâche très importante. Victor doit signer une transaction si, et seulement si, le dernier destinataire de la clé transitoire le lui demande.

Alors, disons qu'Alice met en place une chaîne de statistiques, avec Victor comme facilitateur. Alice génère une clé transitoire, Victor génère la clé de Victor et ils utilisent leurs deux clés pour créer une adresse multisig. Alice envoie ensuite un bitcoin à cette adresse, le «verrouillant» entre Alice et Victor. Désormais, si Alice souhaite envoyer la pièce à Bob, elle peut créer une transaction, la signer avec la clé transitoire et demander à Victor de la signer également. Avec les deux signatures, Alice peut diffuser la transaction, en envoyant la pièce à Bob comme une transaction blockchain normale.

Mais cela, bien sûr, passe à côté du but de la statechain. Alice a une meilleure idée. Alice à la place envoie le clé transitoire à Bob et dit à Victor qu'elle a fait ça. Cela fait de Bob le dernier destinataire de la clé transitoire. Bob peut maintenant contacter Victor et lui demander une signature pour aider à déplacer la pièce.

Alice a toujours la clé transitoire elle aussi. Cependant, si elle demandait à Victor de l'aider à signer une transaction pour déplacer la pièce, Victor refuserait. Alice ne possède plus la pièce en ce qui concerne Victor. Et comme elle ne détient que la clé transitoire, elle est en effet incapable de la déplacer seule.

Si jamais Bob voulait transférer les pièces à quelqu'un d'autre – disons, Carol – il pourrait bien sûr répéter le tour de la statechain. Quand il enverra la clé transitoire à Carol et le dira à Victor, Victor ne collaborera plus avec Carol à partir de ce moment-là, transformant effectivement la pièce en monnaie de Carol. Ce processus peut être répété un nombre arbitraire de fois, en transmettant la clé transitoire à Dan, Erin, Frank, etc., sans jamais nécessiter de transaction blockchain.

Ne pas faire confiance à Victor

Le scénario décrit ci-dessus ne supprime pas toute la confiance du système. Au contraire, une grande confiance est accordée à Victor.

Tout d’abord, si Victor ne signe pas une transaction blockchain à la demande, la pièce ne peut pas être déplacée. (Peut-être que l'ordinateur de Victor est tombé en panne ou qu'il a été heurté par un bus, ou peut-être Victor, conscient de son pouvoir, fait-il chanter le dernier destinataire de la clé transitoire pour lui payer une partie de la pièce en échange de la signature.)

Ce problème peut être résolu – mais c’est là que la conception de Statechain devient légèrement plus complexe.

Lorsqu'elle établit initialement la chaîne de commande, Alice prend une mesure de précaution. Même avant d’envoyer la pièce à l’adresse multisig, elle crée une «transaction de sauvegarde» qui envoie la pièce de cette adresse multisig à une nouvelle adresse.

La pièce peut être dépensée à partir de cette nouvelle adresse sous deux conditions. Soit Victor et le propriétaire de la clé transitoire signent la transaction, comme d'habitude, ou Alice peut dépenser les pièces elle-même après une semaine, par exemple.

Alice ne fait pas diffuser cette transaction de sauvegarde sur le réseau Bitcoin. Au lieu de cela, elle le donne à Victor, lui demande de signer la transaction et le lui rend.

Ce n'est qu'après que Alice a reçu cette transaction de sauvegarde signée (mais non encore diffusée) de Victor qu'elle envoie sa pièce à l'adresse multisig. De cette façon, même si Victor disparaît, elle peut diffuser la transaction de sauvegarde et récupérer les pièces après une semaine.

Désormais, quand Alice veut envoyer la clé transitoire à Bob, elle contacte d'abord Victor et lui demande de signer une nouvelle transaction de sauvegarde pour Bob et de la lui donner. Ainsi, lorsque Bob reçoit la clé transitoire d’Alice, il a déjà une transaction de sauvegarde non diffusée mais signée de Victor, lui permettant de réclamer la pièce si Victor disparaît.

Pour terminer, Alice et Bob (et tous les propriétaires ultérieurs de la clé transitoire) utilisent une astuce conçue pour le réseau Lightning: Eltoo. Eltoo autoriserait Bob à "annuler" la transaction de sauvegarde d’Alice avec sa propre transaction de sauvegarde. Ainsi, si Alice tente de tricher en publiant son ancienne transaction de sauvegarde, Bob peut utiliser la semaine pendant laquelle Alice doit attendre pour coopérer avec Victor et réclamer la pièce, ou il peut simplement annuler la transaction de mise à jour d’Alice avec la sienne pour obtenir l’argent.

Premier problème résolu.

Faire confiance à Victor (un peu)

Bien que le problème de la disparition de Victor soit résolu, il existe un autre problème: Victor peut tricher. Il pouvait s'entendre avec un ancien propriétaire de la clé privée, telle qu'Alice, pour voler la pièce à Bob, Carol, Dan, Erin, Frank ou à quiconque aurait été le dernier destinataire de la clé transitoire. (Plus tard, il pourrait également s'entendre avec Bob pour voler de Carol, Dan, Erin, Frank… et ainsi de suite.)

Ce problème ne peut en réalité pas être entièrement résolu – et c’est peut-être le plus gros inconvénient de statechains. Mais le risque peut être minimisé.

Une étape pour minimiser ce risque consiste à «scinder» Victor et à le remplacer par plusieurs entités. La «clé de Victor» est divisée. Il devient ainsi une configuration multisig à part entière où, disons, huit participants sur douze, par exemple, doivent coopérer avec le détenteur de la clé transitoire pour déplacer la pièce. Colluder avec huit "Victors" devrait être plus difficile que de colluder avec un seul Victor.

Deuxièmement, il peut être évident pour le monde extérieur que ces «Victors» trichent. Pour ce faire, vous créez essentiellement une nouvelle blockchain miniature, la "statechain", dans laquelle Alice, Bob, Carol et les autres signent un message confirmant qu’ils ont envoyé la pièce et à qui. Si les Victors s'entendent bien avec Alice pour dépenser la pièce après l'avoir cédée à Bob sur la chaîne de statistiques, tout le monde le verra. (Les détails de la structure exacte de cette chaîne de blocs miniature n’ont pas encore été résolus, mais ce n’est pas un problème très difficile à résoudre.)

Troisièmement, ces «vainqueurs» pourraient être des entités bien connues. par exemple, un groupe de sociétés Bitcoin. Ces entreprises auraient leur réputation en jeu et auraient donc quelque chose à perdre en trichant, même si elles pouvaient gagner une pièce en le faisant. Bien que la cryptographie ne soit pas parfaite, cette hypothèse de sécurité pour les statechains est semblable à celle des chaînes latérales fédérées, comme Blockstream’s Liquid ou l’implémentation actuelle de RSK Labs RSK.

Et c'est tout!

Statechains vous permet d’envoyer des clés privées hors chaîne au lieu d’envoyer des pièces à de nouvelles adresses. Mais vous pouvez toujours utiliser les touches pour dépenser les pièces dans la chaîne.
Statechains vous permet d’envoyer des clés privées hors chaîne au lieu d’envoyer des pièces à de nouvelles adresses.

Limitations de Statechains (et solutions potentielles)

En plus de la confiance requise dans “The Victors” pour ne pas collaborer avec un participant précédent de statechain, les statechains ont certaines limites.

Limites

La première chose à noter est que, comme ils sont expliqués dans cet article, statechains nécessite deux mises à niveau de protocole: les signatures Schnorr et Sighash_Anyprevout (ou quelque chose de similaire). Ces deux mises à niveau sont des travaux en cours, mais il semble peu probable qu'elles soient litigieuses.

Une autre limitation est que les chaînes de caractères ne permettent que le transfert d’UTXO entiers; Pièce d’Alice dans le contexte de cet article. Comme Alice a initialement verrouillé exactement un bitcoin et qu'elle envoie la clé transitoire correspondant à ce bitcoin, elle doit transmettre la pièce entière, ainsi que Bob, Carol et les autres. C'est une très grosse limitation par rapport à une transaction Bitcoin normale, dans laquelle toute fraction de pièce peut être dépensée, le reste étant restitué à l'expéditeur sous forme de changement.

Solutions

Pourtant, ce n’est pas forcément un échec. D'une part, les chaînes de statistiques peuvent être combinées à une autre astuce appelée "échanges atomiques". Cette opération permettrait à Alice d'échanger toute sa pièce avec Zach, qui possède deux demi-pièces, de telle sorte que nul ne doit faire confiance à l'autre pour ne pas reculer du commerce à mi-chemin. Tout cela peut arriver sans nécessiter une transaction en chaîne. Cela augmente la flexibilité.

Deuxièmement, même transférer des UTXO entiers peut être très utile dans certains contextes. Peut-être plus intéressant encore, cela permettrait aux participants de transférer des canaux Lightning entiers. En équilibrant un canal Lightning avec le montant exact (par exemple, en se payant d'abord par un autre canal), Alice peut toujours payer à Bob une fraction de la pièce. En prime, cela pourrait permettre à Bob d'ouvrir immédiatement les canaux Lightning, sans nécessiter de transaction de financement sur la chaîne (ce qui prend du temps et des frais).

De plus, étant donné que les transactions Lightning ont le problème opposé – les transferts de grande valeur sont plus difficiles à effectuer que les plus petites – statechains et le réseau Lightning pourraient se compléter parfaitement.

Questions de confidentialité

Nous ne savons pas encore non plus exactement ce que la législation sur la confidentialité peut offrir. Dans le pire des cas, les Victors et les autres participants à la statechain sauraient exactement qui a payé qui. (Bien qu'en réalité, il s'agirait toujours de clés publiques, pas de vrais noms.) Il existe des moyens d'améliorer cela quand il s'agit des Victors. L'utilisation de signatures aveugles (une astuce cryptographique proposée par l'inventeur d'eCash David Chaum dans les années 1980), par exemple, présente l'avantage supplémentaire de pouvoir se décharger de la responsabilité des transactions des Victors aux utilisateurs eux-mêmes. (Idéalement, les Victors ne sauraient même pas ce qu’ils signeraient.)

La vie privée des autres participants pourrait à son tour être résolue par des échanges atomiques, ce qui aiderait à brouiller la chaîne de propriété. Il existe probablement davantage de solutions pour améliorer la confidentialité, comme les adaptations CoinJoin. (C’est, par exemple, ce que le portefeuille Wasabi Wallet, qui préserve la vie privée, utilise également.) Mais les détails restent à préciser.

Il y a également certaines inquiétudes concernant les anciens participants de la chaîne qui tentent de tricher en essayant de réclamer des pièces via la transaction de sauvegarde. Il est peu probable que cela réussisse, mais il vous en coûterait seulement des frais de transaction (sur la chaîne) pour tenter votre chance. Un comportement frauduleux opportuniste pourrait donc limiter le potentiel de statechains.

Enfin, les chaînes de statistiques sont, bien sûr, un concept relativement nouveau; l'examen par les pairs est en cours.

Merci à Ruben Somsen pour ses informations et ses commentaires. Pour plus d'informations sur statechains, consultez son explicatif sur Medium ou sa présentation à Casser Bitcoin à Amsterdam.

La poste Statechains: Envoi de clés, pas de pièces, pour mettre à l'échelle Bitcoin hors chaîne est apparu en premier sur Magazine Bitcoin.



Traduction de l’article de Aaron van Wirdum : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Top