Proposé dans un livre blanc en 2016, le Lightning Network (LN) est une solution de couche 2 construite sur Bitcoin. LN a été créé en réponse aux problèmes d'évolutivité de Bitcoin, à savoir la vitesse et le coût des transactions Bitcoin.

Le nombre maximum théorique actuel de transactions par seconde (TPS) de Bitcoin est de 10, bien qu'en réalité il se situe entre 3 et 7. Comparez cela aux processeurs de paiement traditionnels comme VISA, qui ont traité en moyenne 6 000 TPS en 2020 (sur la base des 188 milliards de transactions par an revendiquées par VISA).

Les frais de transaction de Bitcoin peuvent varier considérablement en fonction de la demande actuelle d'utilisation du réseau. Par exemple, le 20 avril 2021, les frais de transaction moyens dépassaient 50 $, tandis que le 9 août 2021, la moyenne était d'environ 2,50 $. Pour les transactions importantes, telles que les virements bancaires ou les transferts de fonds internationaux, la vitesse et le coût de Bitcoin sont comparables ou supérieurs à ceux des alternatives. Mais si Bitcoin doit être utilisé pour les paiements quotidiens (les soi-disant micro-transactions, par exemple une tasse de café, de l'essence), la vitesse de transaction doit augmenter et les coûts de transaction doivent diminuer drastiquement.

Lightning Network en théorie

Pour comprendre le fonctionnement de LN et les défis actuels de LN, nous devons parler de Bitcoin. Le facteur limitant du réseau Bitcoin est que chaque transaction doit être placée dans un nouveau bloc de la chaîne. Étant donné que des blocs sont ajoutés à la chaîne environ toutes les 10 minutes, il existe une limite stricte au nombre de transactions possibles sans modifier de manière significative le protocole Bitcoin.

Des débats sur des remaniements majeurs du protocole Bitcoin ont déjà eu lieu et ont abouti à des « hard forks », notamment la création de Bitcoin Cash. Le Lightning Network, plutôt que de créer une nouvelle blockchain, est une solution de couche 2. Cela signifie qu'il permet au protocole Bitcoin de rester relativement inchangé, mais offre les avantages que des remaniements majeurs pourraient apporter – en théorie, du moins.

Le LN fonctionne en établissant un canal de paiement entre deux parties, où seules la première et la dernière transaction sont placées sur la blockchain Bitcoin. N'importe quel nombre de transactions entre la première et la dernière se produira hors chaîne, ce qui signifie que ces transactions ne sont pas limitées par le protocole Bitcoin.

Pour lancer un canal de paiement, les deux parties doivent s’engager à verser une certaine somme de Bitcoin. Cette somme est retenue et ne peut être libérée tant que le canal de paiement reste ouvert. La somme totale de Bitcoin pouvant être transférée via ce canal correspond à la somme totale de Bitcoin engagée. Prenons un exemple pour illustrer cela :

Alice et Bob souhaitent former un canal de paiement ensemble. Alice investit 10 BTC et Bob investit 5 BTC dans le canal de paiement. Une transaction d'ouverture contenant les 15 BTC combinés d'Alice et Bob est placée sur la blockchain Bitcoin. Une fois cette transaction ajoutée à la blockchain, ce qui peut prendre 10 minutes ou plus, Alice et Bob peuvent effectuer un nombre illimité de transactions à des vitesses beaucoup plus rapides et à coût nul. Vous trouverez ci-dessous les transactions entre Alice et Bob :

  1. Alice envoie 1 BTC à Bob Alice : 9 BTC Bob : 6 BTC

  2. Alice envoie 2 BTC à Bob Alice : 7 BTC Bob : 8 BTC

  3. Bob envoie 3 BTC à Alice Alice : 10 BTC Bob : 5 BTC

  4. Bob envoie 1 BTC à Alice Alice : 11 BTC Bob : 4 BTC

Lorsque l'un ou les deux souhaitent fermer le canal, une transaction de clôture est envoyée à la blockchain avec les soldes finaux d'Alice et de Bob. Dans ce cas, le solde final d'Alice est de 11 BTC et celui de Bob de 4 BTC.

Et si Alice veut effectuer une transaction avec Carol ? Eh bien, il se trouve que Bob a un canal de paiement avec Carol, donc Alice effectue une transaction avec Bob, et Bob transmet la transaction à Carol. Notez que dans ce scénario, Bob peut prendre un petit paiement pour transmettre la transaction. Au fil du temps, selon la théorie des six degrés de séparation, LN permet à Alice d'effectuer une transaction avec n'importe qui d'autre.

Lightning Network en pratique

LN est un nouveau protocole encore en phase de test. Il est donc confronté à de nombreux défis allant de la facilité d'utilisation à la sécurité.

Certains s'inquiètent de la facilité avec laquelle un nœud LN peut être exécuté. Pour que LN réussisse, il faut un réseau robuste de nœuds Bitcoin exécutant le protocole LN. L'exécution d'un nœud LN peut être assez difficile et il se peut que des problèmes d'incitation au paiement se posent pour l'exécution de nœuds plus petits. On peut cependant affirmer que l'exécution de LN n'est pas beaucoup plus difficile que l'exécution d'un nœud Bitcoin complet. Cependant, comme LN est principalement destiné aux micro-transactions, l'expérience quotidienne avec LN se fera via des portefeuilles compatibles LN. Les portefeuilles compatibles LN ne sont pas très conviviaux, et la plupart de ces portefeuilles avertissent que, comme ils sont encore en phase de test public, il est conseillé de ne pas déposer trop de fonds. Contrairement à certains des portefeuilles Bitcoin les plus établis, la nouveauté de ces portefeuilles compatibles LN signifie qu'il existe des compromis entre les versions avec et sans garde. Les portefeuilles LN sans garde sont un peu difficiles à utiliser, plus déroutants, moins simples. Les options de garde sont plus faciles à utiliser, mais vous devez faire appel à un tiers avec votre Bitcoin.

Enfin, et c'est le plus inquiétant, LN a été confronté à un certain nombre de vulnérabilités. Celles-ci incluent :

  • Attaques de type « griefing » : les fonds ne sont pas perdus, mais les fonds Lightning de la victime sont gelés afin que le canal de paiement ne puisse traiter aucune transaction.

  • Flood and loot : un attaquant force de nombreuses victimes à réclamer leurs fonds de la blockchain en même temps (flood). L'attaquant utilise cette congestion pour voler les fonds qui n'ont pas pu être réclamés avant la date limite (loot).

  • Attaques par dilatation temporelle : un attaquant allonge le temps pendant lequel une victime prend conscience de nouveaux blocages en retardant la livraison des blocs.

  • Attaques par épinglage : un attaquant incite une victime à fermer son canal LN de manière incorrecte et vole des transactions individuelles.