é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

05 BTC dans une adresse multisig partagée 2 sur 2. Cela nécessite une transaction sur la blockchain Bitcoin.

En tant que « bilan ».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

Maintenant, je veux vous payer 0,01 BTC. mais celle-ci dit que vous obtenez 0,06 BTC et moi 0,04 BTC.

: 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.

Avec la configuration décrite ci-dessus, je devrais être en ligne pour vous surprendre en train d’essayer de tricher, mais il ne serait évidemment pas sûr pour moi de garder les canaux de paiement ouverts si je devais rester en ligne tout le temps. Ainsi, pour encourager les autres à aider avec la transaction « anti-triche ». 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

D’accord, maintenant vous et moi pouvons envoyer de l’argent des milliers de fois. Pourtant, d’un autre côté. 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

Comme vous pouvez le voir, les soldes aux extrémités ont été transférés de manière appropriée de vous à Bob, mais les autres participants ont le même solde (bien que transféré vers d’autres canaux de paiement). Il est important de réaliser que la transaction ne peut se faire que complètement ou pas du tout. 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

Sauf dans le cas ci-dessus où un côté ferme le canal unilatéralement., 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 :