Tech

Qu’est-ce que le Lightning Network, et peut-il sauver le Bitcoin ?

Malgré un crash mémorable la semaine dernière, le Bitcoin plafonne toujours au-dessus des 11000 $. La question de son utilité fondamentale est de plus en plus pressante, à mesure que ses prix montent, dégringolent, et avec eux, des enjeux financiers de plus en plus massifs. Or, si l’idée selon laquelle le Bitcoin est vain devenait consensuelle, alors le futur de la cryptomonnaie serait gravement mis en péril.

Quand le Bitcoin a fait son entrée en scène en 2009, tout le monde pensait qu’il s’agissait d’une nouvelle monnaie un peu étrange, ni plus ni moins. Puis, tandis qu’un nombre croissant de personnes se convertissaient au système de transactions Bitcoin, le réseau est devenu beaucoup plus lent, plus gourmand en énergie, mais aussi plus coûteux. Aujourd’hui, les frais de transaction élevés ont exclu les usages les plus anecdotiques de la cryptomonnaie, comme les achats alimentaires. Au cours des dernières années, la communauté des développeurs a tenté de répondre à ce problème technique urgent, et a proposé plusieurs solutions dont l’une, particulièrement habile, a connu un petit succès : le Lightning Network.

Videos by VICE

Vous avez probablement déjà entendu parler de ce fameux Lightning Network dans la mesure où une version alpha destinée au grand public est sortie le 10 janvier 2018, et que le premier achat de Bitcoin utilisant ce procédé a été effectué samedi dernier. Cela a soulevé un certain enthousiasme dans la communauté, car même si le Lightning Network est toujours réservé à un usage expert, il semble désormais à portée de main.

Si ce nouveau système s’avérait être un succès, alors le réseau Bitcoin deviendrait plus rapide, les transactions moins coûteuses, asseyant la cryptomonnaie face à la concurrence d’Ethereum et du Bitcoin Cash. Mais en quoi consiste-t-il exactement ?

*

Une transaction Bitcoin peut être décrite comme un transfert de valeur entre deux portefeuilles Bitcoin ayant été inclus dans la blockchain, un registre sécurisé par des ordinateurs qui doivent effectuer des calculs afin de pouvoir certifier chaque transaction. Or, ces transactions sont longues et coûteuses dans la mesure où, aussi petites soit-elles, elles doivent être calculées et partagées avec l’ensemble des ordinateurs du réseau.

Ainsi, ce système est extrêmement dispendieux en temps et en énergie. On peut donc légitimement se demander si, au lieu d’inscrire l’ensemble des transactions effectuées par les utilisateurs dans le registre, on ne pourrait pas se contenter d’y écrire les transactions les plus importantes. De même, pourquoi ne pas inscrire ces transactions par paquets plutôt qu’une par une, en temps réel ? Si ces idées – plutôt bonnes au demeurant – étaient un jour matérialisées, cela pourrait révolutionner les usages que nous faisons de la blockchain actuellement. C’est selon cette logique que les développeurs Joseph Poon et Thaddeus Dryia ont proposé le Lightning Network en 2015.

Le Lightning Network permet aux utilisateurs du Bitcoin de créer des “canaux de paiement” les uns avec les autres. Par l’intermédiaire de ces canaux, les transactions Bitcoin peuvent être effectuées en évitant les temps d’attente que nous constatons actuellement : les transactions ne sont pas directement validées dans la blockchain. Au lieu de cela, le Lightning Network conserve les archives des transactions effectuées sur un canal donné sans les finaliser, et envoie ensuite un message décrivant le solde final des transactions au réseau Bitcoin, comme s’il s’agissait d’une transaction normale. Enfin, le canal est fermé et le solde final est sécurisé sur la blockchain.

Ce système ingénieux permet de se débarrasser d’un certain nombre de messages que le réseau Bitcoin doit traiter d’ordinaire, puisque seuls les messages les plus importants – comme le solde final d’une suite de transactions entre deux utilisateurs – sont inscrits dans la blockchain.

En pratique, cela donne quelque chose de ce genre : Vanessa est en liaison avec son amant Jean-Diego à qui elle envoie régulièrement de l’argent, car elle l’entretient. Ils décident d’utiliser un canal de paiement du Lightning Network. Pour commencer, Vanessa détermine une quantité initiale de Bitcoins qui « finance » un contrat codé qui les lie l’un à l’autre. Ce contrat est ensuite envoyé sur le réseau Bitcoin comme une transaction, et les fonds sont sécurisés sur la blockchain.

À présent, Vanessa peut dépenser son argent comme elle l’entend afin d’accommoder le style de vie dispendieux de Jean-Diego, et lui envoyer des Bitcoins dans les quantités qu’il désire, quand il le désire. Cependant, ces transactions ultérieures ne seront pas inscrites sur la blockchain, mais archivées dans le micro-registre partagé entre Vanessa et Jean-Diego : le fameux canal de paiement. Les transactions effectuées entre les deux tourtereaux seront instantanées, puisqu’elles n’auront pas à patienter en file d’attente pour être incluses dans la blockchain Bitcoin – une attente qui peut varier de quelques minutes à quelques jours actuellement.

Le canal de paiement sera « fermé » plus tard, lorsqu’une transaction détaillant le solde final des transactions entre les deux individus sera inscrite dans la blockchain. Des transactions multiples peuvent avoir lieu entre Vanessa et Jean-Diego, mais la blockchain Bitcoin n’en enregistrera que deux : la création du canal de paiement, et sa fermeture.

Il est important de comprendre que, même si les transactions effectuées entre les deux partenaires sont bien bien réelles, seules la première et la dernière seront sécurisées sur la blockchain. Cela signifie qu’avant le transaction finale, la circulation de valeur entre les utilisateurs est plus ou moins virtuelle, elle n’est composée que d’une suite d’instructions. Bizarre, n’est-ce pas ?

Le résultat final est un réseau de canaux de paiement capable de traiter des quantités massives de transactions Bitcoin.

Créer un nouveau canal de paiement pour chaque nouvelle transaction serait tout aussi pénible que de demander à la blockchain de traiter tous les messages. C’est là qu’intervient la notion de réseau qui caractérise le Lightning Network.

Les canaux de paiement sont liés les uns aux autres, et les nouvelles transactions peuvent être acheminées vers des canaux de paiement existants – ce qui évite d’en créer de nouveaux à tout bout de champ. Ainsi, sur le canal de paiement de Vanessa et Jean-Diego apparaissent les transactions effectuées entre eux, mais également les transactions d’autres personnes. Ce n’est pas par charité : acheminer une transaction sur le Lightning Network entrainera des frais qui seront payés aux propriétaires du canal utilisé.

Le résultat final est un réseau de canaux de paiement capable de traiter des quantités massives de transactions Bitcoin. Si le Lightning Network acquiert une taille suffisante, cela pourrait avoir des effets sur l’ensemble du réseau Bitcoin : la blockchain serait moins encombrée, et les frais de transaction, moindre.

*

Évidemment, dans les détails, les choses sont beaucoup plus complexes. Mais ces éclaircissements devraient vous suffire à saisir de quoi est fait ce fameux Réseau Éclair qui s’attire toute la hype.

Car oui, la hype n’est pas un concept à négliger ici. Le Lightning Network est tout à fait expérimental (encore plus que le Bitcoin lui-même, c’est dire). Il n’est encore qu’en version alpha, même s’il est désormais accessible au public. Fondamentalement, c’est une support pour “acheteurs avertis” : on ne sait pas quand le réseau atteindra un niveau de qualité professionnelle, bien que le récent achat de Bitcoin ayant exploité le Lightning Network soit très encourageant.

Enfin, n’oublions pas le destin tragique qu’a connu un autre projet sensé atténuer certains problèmes techniques de la blockchain : Segwit. En août dernier, le code de Bitcoin a été mis à jour en grande pompe pour accepter les transactions Segwit. Mais à ce jour, le Segwit n’a pas remporté le succès escompté, et n’a eu aucun effet sur le réseau Bitcoin. Les détracteurs des solutions dites « hors chaîne », comme le Lightning Network, préfèreraient une mise à l’échelle « sur la chaîne » qui permettrait de traiter chaque transaction individuellement par l’augmentation de la taille des blocs, réduisant théoriquement la congestion de la blockchain.

Même s’il est urgent de trouver une solution aux problèmes du Bitcoin, l’adage « Construisez une auberge, les affamés viendront », ne s’applique clairement pas ici.