évolutivité : Comment fonctionne le réseau Lightning en termes simples  ?


Dites, vous et moi voulons ouvrir un canal de paiement.

1) Mettre des fonds dans Lightning

Nous envoyons tous les deux 0,05 BTC dans une adresse multisig partagée 2 sur 2. Cela nécessite une transaction sur la blockchain Bitcoin.

05 BTC et 0,05 BTC pour moi. Je signe une transaction de paiement et vous la donne. Si vous souhaitez le mettre en œuvre, il vous suffit d’ajouter votre propre signature et de la diffuser sur le réseau Bitcoin. Vice versa, vous me donnez votre copie de la transaction de paiement que vous avez signée et je ne l’ai pas encore.

évolutivité : Comment fonctionne le réseau Lightning en termes simples  ?

Ces « bilans » sont des transactions multisig régulières 2 sur 2 dans le réseau Bitcoin, ils ne sont tout simplement pas encore valides, car il leur manque chacun une signature. Notez que ces transactions de paiement unilatérales bloquent les fonds versés de la partie exécutante pendant un certain temps.

2) Paiement

nous créons chacun une transaction « anti-triche » : c’est une transaction qui dépense les sorties de notre première transaction de paiement à l’autre.

C’est à dire. lorsque j’essaie d’activer le bilan (désormais obsolète) 0,05 – 0,05 BTC, mes fonds versés sont bloqués pendant un certain nombre de blocs. Cela vous donne le temps de diffuser la transaction « anti-triche » dans laquelle j’ai signé que ma sortie 0,05 BTC vous est envoyée.

Néanmoins, je peux vous confier cette transaction en toute sécurité, ainsi qu’à l’ensemble du réseau, car l' »anti-triche » ne peut être activé qu’en réponse à l’utilisation frauduleuse d’un ancien bilan. Soit dit en passant, ce mécanisme anti-triche est la raison pour laquelle Lightning a besoin du correctif Transaction Malleability de Segregated Witness.

Désormais afin que chacun puisse surveiller la diffusion des anciens bilans. Lorsque cela se produit, n’importe qui peut signer la prime pour lui-même et diffuser l' »anti-triche ».

3) Paiement réseau

Pourtant il serait immédiatement poursuivi en justice en faisant résoudre le différend sur la blockchain à son propre détriment. Assez chic, mais pas encore très utile.

Par la théorie des six degrés de séparation, tout le monde est connecté à un autre participant par seulement quelques sauts.

Disons que vous voulez envoyer de l’argent à Bob, qui est barista et vient de vous préparer du café. Bob est un ami d’Alice, alors que j’ai un canal de paiement avec Alice. À des fins d’illustration, supposons que chaque canal de paiement contient deux BTC, répartis également. Vous n’avez pas de lien direct avec Bob.

Notre « réseau » ressemble maintenant à ceci  :

Tu Moi Alice Bob

Maintenant, puisque vous n’avez pas de canal de paiement direct vers Bob (et ce serait très inefficace si vous deviez créer un canal de paiement avec chaque partenaire commercial que vous rencontrez), vous acheminez votre paiement via le réseau. Au lieu d’écrire uniquement une mise à jour de l’équilibre entre Bob et vous comme je l’ai décrit ci-dessus, cela devient un effort concerté  : votre portefeuille trouve un itinéraire de vous à Bob qui a a) des liquidités suffisantes, b) le moins de frais et c) le moins de sauts. Pour effectuer un paiement, chaque canal de paiement concerné met à jour ses soldes. Avec un paiement de 0,01 BTC pour le café, cela met à jour notre réseau à  :

Tu Moi Alice Bob

soit personne ne le fait.

Maintenant, imaginez que vous n’ayez pas qu’un seul canal de paiement avec moi, mais que vous ayez peut-être une douzaine de canaux de paiement avec d’autres utilisateurs  ! 🙂

4) Fermeture du canal consensuel

Lorsque nous sommes d’accord Nous pourrions même utiliser cette transaction pour dépenser une partie de notre solde directement à un tiers sur la blockchain, ou pour créer un autre canal de paiement différent.

5) Compromis

  • Vous ne pouvez pas recevoir plus d’argent via Lightning en une seule transaction que la somme des valeurs de vos canaux de paiement
  • Vos transactions ne sont pas stockées sur la blockchain pour l’éternité (c’est-à-dire une meilleure confidentialité des paiements), mais d’un autre côté, vous continuez à utiliser la même adresse, ce qui permet aux utilisateurs qui savent à qui appartient l’adresse de surveiller votre solde (moins de confidentialité)
  • Transactions instantanées ! Mais votre argent est bloqué dans un canal de paiement, que vous devez d’abord exécuter sur la blockchain si vous souhaitez effectuer une transaction Bitcoin régulière avec l’argent
  • Moins de frais ! Les transactions sur Lightning ne nécessitent pas de frais de transaction blockchain complets, mais si vous passez par les canaux de paiement d’autres personnes, ils pourraient vouloir quelque chose pour la liquidité qu’ils vous fournissent. Cependant, comme d’autres nœuds Lightning sont en concurrence pour transférer votre paiement pour vous, il est probable que cela soit bien inférieur aux frais de transaction complets sur la blockchain

Lectures complémentaires :