Introduction au Lightning Network

Chapitre I Article i

Impossible de parler des transactions sur Bitcoin sans nous pencher sur le Lightning Network qui joue un rôle important dans l'adoption du réseau. Si vous avez lu les précédents articles, vous avez pu constater que nous y avons souvent fait référence. Alors, de quoi s'agit-il ? À quoi sert-il et comment fonctionne-t-il ? Quels sont ses qualités et ses défauts ? Nous vous proposons ici une introduction au Lightning Network, une solution innovante qui vise à rendre Bitcoin plus adapté aux paiements du quotidien.

Temps de lecture estimé : 13 minutes

À quoi sert le Lightning Network ?

Comme nous l'avons vu dans cet article sur le registre comptable de Bitcoin, les blockchains sont confrontées au fameux « trilemme des blockchains ». Comme son nom l'indique, ce dernier représente l'antagonisme de trois des propriétés principales de la blockchain : la sécurité, la scalabilité et la décentralisation. Renforcer l'une tend inéluctablement à affaiblir les autres.

Illustration du trilemme de la blockchain
Illustration du trilemme de la blockchain

Pour Bitcoin, l'accent a été mis sur la sécurité et la décentralisation, au détriment de la scalabilité. Cela en fait un actif dont la proposition de valeur principale n'est pas la rapidité mais la résilience et la résistance à la censure.

Voici les paramètres qui font que le réseau n'est pas adapté pour traiter un grand nombre de transactions rapidement :

  • Les blocs peuvent avoir une taille de 4 Mo au maximum (en 2024), ce qui limite le nombre de transactions qu'il est possible d'y inclure (quelques milliers) ;
  • Les frais de transactions à payer aux mineurs pour espérer voir une transaction ajoutée dans un bloc dépendent de l'offre et de la demande. Plus il y a de transactions en attente, plus les frais sont élevés pour voir sa transaction être validée en priorité (voir le déroulé des transactions).

À cause de ces limitations techniques, il est souvent nécessaire d'attendre 10 minutes pour qu'une transaction soit validée (voire 1 heure suivant son importance, car il faut 6 blocs pour qu'une transaction soit considérée comme sûre).

De plus, si le nombre de transactions dépasse ce qui peut être inclu dans un bloc, les mineurs ne sont pas en mesure de toutes les traiter. Ils choisissent naturellement celles qui leur rapportent le plus, ce qui tend à faire augmenter les frais de priorité.

Sur le graphique ci-dessous, vous pouvez constater l'évolution des frais moyens en dollars à payer par transaction.

Frais moyens par transaction sur le réseau Bitcoin
Frais moyens par transaction sur le réseau Bitcoin

Ces frais ne sont que rarement inférieurs à 1 dollar et dépassent parfois les 10 dollars, ce qui fait de Bitcoin un actif inadapté aux échanges de petits montants. Il s'agit évidemment d'un frein à son adoption massive comme moyen de paiement « simple » et rapide.

C'est pour remédier à ces deux problèmes, identifiés dès le début par Satoshi Nakamoto, que le Lightning Network (LN) a été conçu. Cette technologie vise à améliorer la scalabilité du réseau, permettant de réaliser des transactions rapides, peu coûteuses et sécurisées.

Comment fonctionne le Lightning Network ?

Le LN permet d’exécuter des transactions hors de la chaîne principaleoff-chain »), et de les transférer ensuite de façon groupée sur le réseau Bitcoin pour les valider définitivement. C'est ce que l'on appelle une couche de niveau 2, ou layer 2.

Il existe une multitude de technologies sur lesquelles s'appuient les layers 2 pour fonctionner, comme nous le verrons dans un article dédié au sein du Chapitre consacré à Ethereum, blockchain pour laquelle de nombreuses solutions de seconde couche ont été développées.

À ce jour, le Lightning Network est le layer 2 le plus utilisé de Bitcoin, même s'il en existe d'autres (Omni, Liquid, RSK, etc.). C'est une solution de mise à l’échelle qui permet d’augmenter le débit des transactions tout en héritant de la sécurité de la blockchain sous-jacente sur laquelle elle est construite. Elle se base sur le concept de canaux de paiement bidirectionnels.

Le fonctionnement de pair à pair

Le LN permet à deux adresses d'effectuer une infinité de transactions entre elles, en enregistrant seulement 2 transactions sur la blockchain Bitcoin : une à l'ouverture de leur canal et une à sa fermeture. Une fois qu'un canal est ouvert, les deux adresses connectées peuvent échanger autant qu'elles le souhaitent. Lorsque l'une des deux décide de fermer le canal, le montant présent à chaque adresse est diffusé sur le réseau Bitcoin pour être enregistré dans la blockchain.

Illustrons nos propos avec un exemple pour vous permettre de mieux comprendre le fonctionnement de cette solution. Imaginons que Paul et Jean souhaitent échanger des bitcoins de manière récurrente. Ils décident alors d'ouvrir un canal sur le LN pour que leurs transactions soient instantanées, et éviter de payer des frais lors de chaque échange.

Sans entrer dans des explications trop techniques, voici comment se passe l'ouverture du canal :

  • Paul et Jean doivent décider combien d'unités ils souhaitent déposer dans le canal pour pouvoir échanger. Ici, nous dirons qu'ils décident de déposer chacun 0,01 BTC ou 10 mBTC ;
  • Ils doivent immobiliser ces jetons sur le réseau Bitcoin jusqu'à la fermeture du canal. Pour ce faire, ils créent une adresse multi-signature qui nécessite leurs deux clés privées (voir le déroulé des transactions) pour dépenser les fonds qui s'y trouvent. C'est ce qui correspond à la transaction d'ouverture enregistrée sur Bitcoin.
  • Grâce à un tour de passe-passe cryptographique, chacun peut retirer les fonds qui lui appartiennent sans l'accord de l'autre, ce qui signifie qu'ils n'ont pas besoin de se faire confiance.
Jean et Paul verrouillent des BTC sur une adresse multi-signature du réseau Bitcoin
Jean et Paul verrouillent des BTC sur une adresse multi-signature du réseau Bitcoin

Une fois que le canal est ouvert, Paul et Jean peuvent échanger autant qu'ils le souhaitent. L'appartenance des fonds dans le canal peut être représentée par un curseur.

Quand le canal est ouvert, Jean et Paul peuvent échanger les fonds qui s'y trouvent
Quand le canal est ouvert, Jean et Paul peuvent échanger les fonds qui s'y trouvent

Si Paul envoie 5 mBTC à Jean, le curseur se déplace :

Lorsque Paul envoie des BTC à Jean, la part de Jean augmente
Lorsque Paul envoie des BTC à Jean, la part de Jean augmente

Ceci peut être répété à l'infini tant que le canal est ouvert. Lorsque Paul et Jean s'échangent des jetons, les mBTC ne sont pas déplacés. Les deux protagonistes s'échangent simplement un engagement sur la nouvelle répartition des fonds bloqués dans le canal.

Paul et Jean peuvent décider de fermer le canal quand bon leur semble, de manière consensuelle ou unilatérale (la fermeture consensuelle est à privilégier car elle coûte moins cher et est plus rapide pour des raisons techniques que nous n'aborderons pas ici). La transaction de fermeture est alors enregistrée sur Bitcoin avec la nouvelle répartition des fonds.

Un mécanisme assure que si l'un des deux tente de tricher en demandant plus de jetons que la part à laquelle il a droit, l'autre peut récupérer l'ensemble des fonds présents sur le canal.

Le réseau Lightning

Pour réaliser un paiement, les utilisateurs peuvent s’appuyer sur les canaux de paiement établis par d'autres. Ils ne sont pas obligés d'ouvrir un canal direct avec le destinataire final.

Toujours pour faciliter votre compréhension, reprenons notre exemple dans lequel Paul et Jean ont ouvert un canal. De son côté, Paul à ouvert un autre canal avec Georges. Si Jean et Georges veulent échanger des bitcoins, ils peuvent passer par les canaux qui les relient à Paul, sans avoir besoin d'ouvrir un nouveau canal.

Jean et Georges peuvent échanger par l'intermédiaire de Paul
Jean et Georges peuvent échanger par l'intermédiaire de Paul

C'est de là que le LN tire son appellation de Network ou réseau en français : il s'agit d'un réseau de canaux. Dans ce réseau, Paul est appelé un nœud. Voici une représentation du réseau complet qui compte 13 916 nœuds et 54 053 canaux au moment de l'écriture de ces lignes, selon 1ml.com.

Représentation du Lightning Network
Représentation du Lightning Network

Pour effectuer une transaction, il suffit qu'une route existe pour relier l'émetteur et le récepteur et qu’elle contienne assez de liquidités. Dans notre exemple, imaginons que Jean souhaite envoyer 4 mBTC à Georges.

Déplacement des BTC lors d'un envoi de 4 mBTC de Jean à Georges.
Déplacement des BTC lors d'un envoi de 4 mBTC de Jean à Georges

Dans un premier temps (étape 1), Jean envoie ses 4 mBTC à Paul sur leur canal commun. Paul envoie ensuite ses 4 mBTC à Georges (étape 2). Jean ne pourrait pas envoyer le mBTC qui lui reste à Georges, car Paul ne dispose pas d'assez de liquidité sur son canal avec Georges.

En échange de son service d'intermédiaire, Paul touche des frais (qu'il fixe lui-même) et qui doivent être payés par Jean. Si le chemin pour rejoindre Georges (qui est calculé automatiquement) comprenait plusieurs nœuds intermédiaires, chacun d'entre eux prendrait des frais. Ils sont cependant beaucoup moins élevés que ce que coûterait une transaction sur Bitcoin et sont généralement de quelques satoshis (des centimes de centimes).

Divers mécanismes internes (dont les HTLC pour Hashed Time-Locked Contracts) empêchent la fraude, mais nous n'entrerons pas dans les détails de leur fonctionnement ici. Sachez tout de même qu'ils existent et que les transactions sont sécurisées (les plus curieux peuvent se rendre ici pour plus d'informations), mais que les utilisateurs doivent rester vigilants car ils disposent d'un temps limité pour agir en cas de fraude.

Les avantages et inconvénients du Lightning Network

Vous l'avez compris, les deux principaux avantages du LN sont de permettre des transactions rapides (jusqu'à 500 transactions par seconde par canal) avec des frais faibles (généralement de l'ordre de quelques satoshis).

Mais ce n'est pas tout. Les transactions sont bien plus confidentielles que les transactions sur la chaîne principale. En effet, il est beaucoup plus difficile de les tracer car les bitcoins ne sont transférés qu'une fois un canal fermé (et entre les adresses des deux personnes qui l'avaient ouvert même s'ils ont servi d'intermédiaires pour d'autres échanges).

Malheureusement, le LN n'est pas parfait et présente encore quelques inconvénients :

  • Il implique que les utilisateurs séquestrent leurs jetons sur la blockchain principale. Ils perdent donc en partie le contrôle dessus ;
  • Les nœuds ayant ouvert énormément de canaux peuvent devenir des hubs et conduire à une certaine centralisation du réseau ;
  • Les frais d'ouverture et de fermeture des canaux peuvent être problématiques s'ils sont élevés, notamment du fait que la fermeture peut se faire de manière unilatérale ;
  • Les utilisateurs peuvent être victimes de vol s'ils ne sont pas assez réactifs lors d'une fraude ;
  • Les nœuds doivent être toujours en ligne, et risquent de perdre leurs fonds ou de bloquer les transactions dans le cas contraire ;
  • Le réseau est encore jeune et peut présenter des failles encore non identifiées, comme celle mise en lumière par le développeur Antoine Riard en octobre 2023.

Comment utiliser le Lightning Network ?

Pour effectuer des transactions sur le réseau LN, il vous faut un wallet compatible (Wallet of Satoshi, Breez, Bitcoin Lightning Wallet, Blue Wallet, Eclair Mobile, Zap, etc.). Quelques-uns vous obligent à déléguer la gestion de vos fonds à un tiers (custodial), d'autres vous laissent maîtres de vos clés privées (non-custodial), et certains prennent en charge les 2 réseaux (Bitcoin et Lightning Network), ce qui permet de passer de l'un à l'autre très facilement.

Ces wallets s'installent généralement sur smartphone pour des raisons de praticité. Il n'est pas très commode d'aller faire ses courses avec son ordinateur pour payer la note...

Il faut ensuite alimenter votre wallet Lightning Network, en transférant quelques fractions de bitcoin dessus. Le fonctionnement est par la suite le même que pour un portefeuille classique. Votre application va ouvrir un canal LN et vous pourrez payer, transférer vos satoshis avec un simple QR code, ou l'adresse LN du destinataire.

Pour plus d'informations sur l'utilisation d'un wallet (Bitcoin, LN ou autres), nous vous avons concocté de nombreux tutoriels. Un futur Chapitre de cette Encyclopédie vous permettra aussi d'apprendre à prendre en main plus facilement ces outils.

Bien qu'imparfait, le Lightning Network offre une solution concrète au problème de scalabilté de Bitcoin. S'il a connu un accroissement du nombre de transactions en 2 ans (+ 1200 %), il reste cependant utilisé par une minorité des amateurs de Bitcoin. Le BTC fait pour l'instant plus office de réserve de valeur que de monnaie d'échange. Le réseau est encore jeune et évolue régulièrement, et pourrait voir tous ses problèmes résolus au fil du temps. Une chose est sûre : c'est en partie grâce à des projets comme celui-ci que Bitcoin pourrait connaître une forte adoption.

Nous vous proposons maintenant de continuer votre découverte de Bitcoin et de ses secrets sous un angle plus économique que technique. Dans l'article suivant, intitulé « Bitcoin et ses 21 millions d’unités », nous verrons pourquoi ce chiffre a été choisi et les mystères qui l'entourent.