• Print
  • Decrease text size
  • Reset text size
  • Larger text size
22/11/2019

Présentation de la technologie Lightning Network

Le Lightning Network est un réseau décentralisé d’échange de transactions qui s’appuie sur la blockchain Bitcoin pour assurer la sécurité des transactions. À l’occasion de l’annonce du financement de la startup ACINQ[1] - travaillant sur la technologie Lightning - par Bpifrance[2] et de l’annonce de l’implémentation de la technologie Lightning dans la prochaine version du logiciel Electrum[3], l’un des portefeuilles de bitcoins parmi les plus utilisés, Sia Partners vous propose dans cet article une analyse de la technologie Lightning.

 

Bitcoin et le problème de scalabilité :

Pour valider une transaction sur le réseau Bitcoin, il faut que la transaction soit ajoutée dans un bloc. L’ajout de la transaction dans un bloc permet d’éviter le problème de la double dépense[1] et inscrit de manière permanente cette transaction dans le réseau.

 

  • Le réseau Bitcoin est fait de telle sorte qu’un bloc est produit toutes les 10 minutes en moyenne, et donc le temps minimal pour valider une transaction est de 10 minutes. Pour être sûr de la validité d’une transaction, certains logiciels Bitcoin demandent 6 blocs de confirmation, ce qui fait un temps minimal de 1h.

 

  • La taille maximale d’un bloc est de 1 Mo, ce qui implique qu’un bloc ne peut pas contenir plus de 2500 transactions, et donc 2500 transactions toutes les 10 minutes ou 4 transactions par seconde en moyenne. Lorsqu’un bloc est saturé, les transactions sont mises en attente, le temps de trouver de la place dans un prochain bloc. Il arrive parfois que le réseau Bitcoin soit congestionné, certaines transactions stagnant plusieurs heures voire plusieurs jours avant de pouvoir être intégrées dans la blockchain, les transactions ayant des frais de transactions élevés étant traités en priorité par les nœuds mineurs.

 

  • Il n’y a pas d'anonymat dans les transactions Bitcoin[2], toute personne ayant une copie de la blockchain a accès aux informations sur toutes les transactions. Si quelqu’un parvient à faire le lien entre une adresse Bitcoin et l’identité d’une personne, il peut retracer tout l’historique de transactions de cette personne.

 

Toutes ces difficultés font que Bitcoin s’apparente à de l’or numérique. Nous pouvons l’utiliser pour stocker de la valeur mais il est difficile de s’en servir comme moyen de paiement.

 

Lightning Network est-il la solution idéale ?

Le réseau Lightning a pour objectif de répondre à toutes ces problématiques :

  • Les transactions sont instantanées, plus rapide encore que les transactions Visa (si l’on omet le temps d’ouverture du canal entre 2 nœuds Lightning)
  • Il n’y a pas de limites sur le nombre de transactions que nous pouvons effectuer (il existe tout de même une limite sur les montants échangeables, en fonction du montant de bitcoins déposé lors de l’ouverture du canal de paiement)
  • Les frais de transactions sont minimes
  • Les transactions sont anonymes

Ainsi, il est possible de se servir de Bitcoin pour les transactions journalières, avec facilité et sécurité.

Comment fonctionne le réseau Lightning ?

 

  1. Un utilisateur initie un canal de paiement (channel) avec un autre utilisateur. Pour cela il crée une transaction Bitcoin spécifique, qui a pour but de définir et de créer un canal (en précisant montant de bitcoins disponibles sur le canal, ainsi que les adresses des utilisateurs du canal).
  2. Une fois que la transaction est validée sur le réseau Bitcoin, le canal de paiement est créé et les deux utilisateurs peuvent s’échanger des bitcoins via le protocole Lightning. Les bitcoins sont verrouillés sur le canal Lightning et ne peuvent plus être dépensés sur le réseau Bitcoin.
  3. Lorsque les utilisateurs veulent récupérer leurs bitcoins sur le réseau Bitcoin, ils initient une deuxième transaction pour fermer le canal de paiement et libérer les bitcoins restants.
  4. Si un utilisateur A possède un canal avec un utilisateur B et que celui-ci possède un canal avec un utilisateur C, alors A pourra faire des transactions avec l’utilisateur C, en se servant de B comme d’un relai pour transmettre sa transaction, sans avoir besoin d’avoir un canal direct avec C. Il est ainsi possible de faire des transactions sur le réseau Lightning avec tous les autres utilisateurs en ayant uniquement un seul canal d’ouvert, le logiciel Lightning se chargeant de trouver un chemin entre notre nœud et le nœud du receveur de la transaction.

 

 

Ainsi, grâce à une seule transaction Bitcoin (ou deux si on prend en compte la fermeture du canal), il est possible de faire une quantité quasi-illimitée de transactions.

 

État des lieux des initiatives sur Lightning Network :

L’idée de pouvoir faire des transactions en dehors de la blockchain, tout en bénéficiant de la sécurité de celle-ci était déjà présente dans la première version de Bitcoin, développée par Satoshi Nakamoto, avec un système de verrouillage de transactions.

Malheureusement ce système n’était pas suffisamment sécurisé et il n’a donc pas été utilisé en pratique. La recherche autour de ces technologies a continué après le départ de Satoshi et a abouti à un système fiable avec le Lightning Network.

Le livre blanc décrivant le réseau Lightning[3] a été publié en janvier 2016 par Joseph Poon et Thaddeus Dryja.

En janvier 2017, la première implémentation du Lightning Network voit le jour avec la version alpha du logiciel lnd, par les équipes de Lightning Labs[4] , ce qui permet l’initialisation du réseau pair à pair Lightning sur le réseau de test de Bitcoin. À peu près au même moment, deux autres implémentations virent le jour : c-lightning par l’entreprise Blockstream[5] et eclair par ACINQ[6].

Les différentes implémentations suivent le même protocole et sont donc compatibles entre elles. Un nœud lnd peut communiquer directement avec un nœud c-lightning ou eclair.

Au milieu de l’été 2017, la mise à jour Segregated Witness[7] est implémentée dans Bitcoin, permettant d'utiliser la technologie Lightning Network avec le réseau Bitcoin principal.

Vers Mars 2018, lnd, c-lightning et eclair sont entrées en version beta, étant suffisamment stables pour être utilisées pour des échanges sur le réseau principal de Bitcoin de manière sécurisée.

Fin 2018 et début 2019 sont également apparues des applications mobiles pour utiliser le réseau Lightning. ACINQ a sorti une version mobile de leur logiciel, appelé eclair mobile, fonctionnant sur Android. Il existe également d’autres logiciels ou portefeuilles Lightning comme Breez ou BlueWallet.

 

Synthèse des tests réalisés par Sia Partners :

Nous avons testé le logiciel lnd sur ordinateur, ainsi que la version Android du logiciel eclair sur le réseau de test bitcoin (Testnet).

Nous avons testé lnd et non pas c-lightning ou eclair car lnd est le logiciel Lightning Network le plus utilisé et le plus abouti.

Sur Android nous avons testé eclair mobile car contrairement aux autres portefeuilles, nous avons la possibilité de nous connecter sur le réseau Testnet, ainsi que sur le réseau Mainnet. De plus, nous avons un contrôle total sur les clés et le nœud Lightning.

Tests de lnd :

lnd se présente comme une application en ligne de commande, disponible sur Linux, Mac et Windows. Pour mettre en place un nœud sur le réseau Lightning, il faut déjà avoir un nœud Bitcoin synchronisé au réseau. Une fois cela fait, le logiciel lnd se charge de récupérer les informations sur les canaux de paiements Lightning enregistrés dans la blockchain et peut commencer la création de canaux de paiements.

La création d’un canal de paiement se fait en 2 étapes :

  • Récupération des informations d’un autre nœud Lightning (adresse Lightning, adresse IP, port de connexion) et connexion à celui-ci.
  • Ouverture d’un canal de paiement entre les deux nœuds Lightning, en précisant la capacité du canal (capacité qui correspond au montant de bitcoins qui seront séquestrés et non utilisables sur la blockchain Bitcoin tant que le canal sera ouvert).

Une fois que le canal est ouvert, il devient possible de faire des transactions entre les deux nœuds, ainsi qu’avec tous les autres nœuds du réseau Lightning, via des canaux tiers, faisant office de relai.

Lorsque l’on ne souhaite plus utiliser le canal Lightning, nous pouvons le fermer. Les bitcoins séquestrés sont libérés, et renvoyés à leurs propriétaires, après avoir pris en compte le solde des échanges effectués sur le canal.

Le logiciel lnd permet d'effectuer toutes les opérations nécessaires à l’utilisation du réseau Lightning, tout en permettant un contrôle total de l’infrastructure blockchain, sans nécessité de tiers de confiance. Son utilisation sera néanmoins réservée aux utilisateurs les plus pointus au niveau technique, du fait de son interface en ligne de commande, et de la nécessité d’avoir un nœud Bitcoin synchronisé et paramétré pour s’interfacer avec lnd.

Tests de eclair mobile :

Le logiciel eclair mobile est plus simple à utiliser que lnd car il possède une interface graphique et il se connecte à un serveur electrum pour avoir accès aux données de la blockchain, ainsi il n’est pas nécessaire de télécharger toute la blockchain Bitcoin pour pouvoir utiliser eclair mobile.

Eclair mobile nous offre la possibilité de choisir entre la création avec un nœud aléatoire, avec un nœud ACINQ ou bien de copier l’adresse d’un nœud que nous connaissons déjà. Il faut choisir le montant du canal et ouvrir le canal.

Une fois que le canal est ouvert, nous pouvons générer des demandes de paiement et également valider les demandes de paiement que nous recevons.

Notre test a été concluant. Nous avons pu effectuer toutes les opérations usuelles sur le réseau Lightning (envoi de transactions, transfert de bitcoins entre la blockchain et le réseau Lightning) de la même manière que sur le logiciel lnd, avec une interface plus simple d’utilisation. La difficulté d’utilisation reste toute de même élevée, car il faut connaître le fonctionnement de Bitcoin et Lightning avant de savoir se servir de eclair mobile mais les avantages sont tangibles : transactions instantanées et anonymes, facilité de paiement dans les commerces, frais minimes.

 

 

Conclusion :

D’un point de vue technique, le réseau Lightning est parfaitement fonctionnel et tient ses promesses : il est possible de faire des transactions quasiment instantanément et avec des frais minimes, sans tiers de confiance.

Néanmoins la technologie est complexe à appréhender pour des novices dans le monde de la blockchain. Il faut déjà avoir une certaine maîtrise de Bitcoin, et Lightning rajoute une couche de vocabulaire et de spécifications techniques à maîtriser. Le risque de confondre les adresses Bitcoin et Lightning, entre les transactions « on-chain » et « off-chain » est réel.

De plus, peu de services ou de commerces acceptent les paiements utilisant le Lightning Network.

Le réseau Lightning est une technologie prometteuse mais encore trop jeune pour être utilisée au quotidien. Nous pouvons espérer que dans un futur relativement proche, des sociétés mettent en place des outils qui simplifient l’utilisation du réseau Lightning pour les utilisateurs lambdas, tout en garantissant la sécurité de leur portefeuille. C’est notamment l’approche défendue par ACINQ qui développe un nouveau portefeuille Lightning appelé Phoenix[8], plus simple d’utilisation pour les novices de la blockchain et des cryptomonnaies.

Les équipes de Sia Partners sont à votre disposition pour vous aider dans la réalisation de vos projets autour de Bitcoin et de Lightning Network, que ce soit d’un point de vue de la conception ou de l’implémentation d’un système de paiement en cryptomonnaie.

Back to Top