Comprendre le futur Lightning Network du Bitcoin

Partagez cette page

En attendant l’éclair de génie…

En l’état, le bitcoin a des gros problèmes techniques. Si vous avez parcouru nos articles sur cette nouvelle monnaie électronique et la blockchain, et que nous avons été assez clairs, vous avez probablement compris en quoi le bitcoin est révolutionnaire. Sauf qu’aussi révolutionnaire qu’il soit, il est très loin d’être parfait.



 

En raison de limitations techniques structurelles, un système basé sur une blockchain publique sera très vite susceptible de connaître de gros problèmes de scalabilité. C’est à dire qu’il pourra très vite être dépassé par le nombre de transactions, pour une monnaie, ou d’autres données dans le cas de blockchains avec des fonctions différentes, qu’il aura à traiter.

En l’état, en ce début 2018, le bitcoin enregistre ses transaction à la vitesse théorique maximum de 7 par secondes (en pratique c’est moins), ce qui est bien trop peu. Le réseau peut très vite se retrouver complètement saturé, avec un mempool de transactions en attente qui déborde, et des frais exorbitants si on veut que son opération soit traitée prioritairement. Le réseau bitcoin a ainsi « bouchonné » de la fin 2017 au début 2018…

En guise de comparaison, un système de paiement comme VISA, avec lequel le bitcoin veut rivaliser, est capable de traiter plusieurs dizaines de milliers de transactions par seconde.

Outre ce problème de scalabilité qui est à l’origine de nombreux déchirements dans la communauté (adoption de Segwit et création de Bitcoin Cash, épisode Segwit2x…), la nécessité de devoir attendre théoriquement autour d’une heure qu’une transaction soit confirmée (les « 6 blocs de confirmation ») rend le bitcoin impropre à un usage courant en tant que monnaie.

Histoire de résumer les problèmes, on n’ira jamais acheter sa baguette en bitcoin si l’on doit payer 20€ de frais de transaction et si l’on doit rester une heure dans la boulangerie, le temps que notre paiement soit validé…

La solution à ces épineux problèmes, en préparation depuis plusieurs années et qui arrive enfin, s’appelle le Lightning Network (et là, d’un coup, vous saisissez la puissance de notre sous-titre).

Ce « réseau éclair » est quelque chose de complexe nécessitant énormément de développement. Mais une fois qu’il sera fonctionnel, le bitcoin aura beaucoup plus d’atouts pour devenir en pratique la nouvelle monnaie alternative et universelle qu’il prétend être.

Zapper la blockchain avec les canaux de paiement

L’idée générale derrière le Lightning Network est que puisque la blockchain est lourde et lente, on va essayez tant que possible d’alléger sa charge de travail en se passant d’elle. Et pour ça, il y a ce qu’on appelle les canaux de paiement.

Le premier cas d’usage d’un canal de paiement est lorsqu’on a des paiements répétés avec une même personne.

Imaginez que tous les matins vous alliez acheter votre pain et vos croissants à la boulangerie en bas de chez vous qui accepte les bitcoins. Plutôt que de faire une transaction classique passant dans la blockchain tous les jours, vous allez donc ouvrir un canal de paiement avec votre boulanger.

Ce faisant vous allez chacun ouvrir une sorte de cagnotte à laquelle au moins un de vous devra allouer des fonds.

Ces deux cagnottes ne pourront servir qu’à transférer ou recevoir des fonds de l’autre. En l’occurrence, c’est vous l’acheteur, donc c’est vous au départ qui allouerez par exemple 0,01 bitcoins à votre cagnotte, et chaque fois que vous achèterez un croissant vous transfèrerez des satoshis à celle du boulanger.

Quand vous le souhaitez, vous pouvez conjointement ou unilatéralement fermer ce canal, et ainsi permettre à chacun de récupérer le montant qu’il a dans sa cagnotte au moment de la fermeture.

Quel est l’intérêt de procéder de la sorte ? Il est qu’avec ce système, seules l’ouverture et la fermeture du canal de paiement sont des transactions (d’un type différent des transactions habituelles) qui sont envoyées dans la blockchain. Tout ce qui se passe entre ne l’est pas et se passe juste entre les deux cagnottes.

Le grand changement apporté est que mis à part pour sa mise en place et sa clôture, un canal de paiement se passe de la fonction de certification la blockchain, pour se contenter à la place de l’accord entre deux personnes afin de certifier une balance de comptes.

Pour établir ce consensus plus restreint, un canal de paiement utilisera des transactions à signatures multiples. En effet, contrairement aux transactions classiques qui ne nécessitent que l’authentification par signature électronique de celui qui envoie des fonds, les transactions d’ouverture d’un canal, et les transactions dans un canal établi, nécessiteront une validation des deux partis.

Concrètement, celui qui reçoit les fonds devra lui-aussi valider les transactions, ce qui n’est pas le cas jusqu’à maintenant.

Autre point pratique important, étant donné qu’une transaction par un canal de paiement se passe de la blockchain et ne consiste qu’en un échange de données sur le réseau, celle-ci est quasi-instantanée.

Le Lightning Network : un réseau de canaux de paiement

Tout cela est bien joli, mais est-ce juste la possibilité d’épargner certaines transactions récurrentes à la blockchain qui va donner au bitcoin une scalabilité virtuellement sans limite ?

Vous avez raison, le canaux de paiement (qui ne sont du reste pas complètement nouveaux…) ne sont que la première étape.

La véritable idée géniale, qu’on doit à deux informaticiens, Joseph Poon et Thaddeus Dryja, est de créer un réseau de canaux de paiement.

Ceci est rendu possible par le fait que les canaux de paiement ont dans leurs caractéristiques de pouvoir exécuter automatiquement des transactions conditionnelles (qu’on appelle des « smart contracts ») du type « payer tant à X si je reçois tant de Y ».

Dès lors, si vous avez votre canal de paiement ouvert avec votre boulanger et que votre boulanger en a un avec le fleuriste, vous pourrez payer instantanément votre fleuriste « en passant » par votre boulanger, et en laissant la blockchain tranquille.

Si l’on étend de proche en proche ce système, il est possible de constituer un réseau constitué de canaux de paiement et de nodes qui permet d’effectuer une quantité de transactions astronomique en se plaçant « au-dessus » de la blockchain, dans une « seconde couche » de réseau (d’où sa qualification de « second layer network »), cette seconde couche étant juste reliée à, ou encrée dans, la blockchain. C’est cela le Lightning Network.

Il existe toutefois une condition impérative pour qu’un paiement puisse aller jusqu’à son destinataire. Il faut que les nodes et les « cagnottes » des différents canaux de paiement « empruntés » sur le chemin contiennent une quantité de fonds au moins égale au montant du paiement. Il en découle que le Lightning Network sera un système orienté d’abord vers le micro-paiement.

Un réseau aux petits oignons pour plus de protection

Le Lightning Network promet d’être est un changement en profondeur du fonctionnement du bitcoin.

Rien que d’un point de vue philosophique, la blockchain restera le réceptacle de référence des comptes du bitcoin, mais sans désormais contenir toutes ses transactions (qui pour la majorité se passeront sûrement « off-chain ») et avec potentiellement de gros décalages dans le temps si des canaux de paiement restent ouvert longtemps.

Notons au passage que cet élément, associé au fait que les transactions « voyageront » dans les nodes et canaux de paiement de manière non traçable, grâce à un système d’encapsulation des données « en oignon » similaire à celui qu’on trouve sur le réseau TOR, renforcera la protection de la vie privée des utilisateurs.

Par exemple aussi d’un point de vue pratique, le software qui fera fonctionner le bitcoin se trouvera largement complexifié.

Avant, il s’agissait juste d’envoyer une transaction destinée à être validée puis enregistrée dans la blockchain. Maintenant, une transaction entrainera la recherche d’une « route » possible vers le destinataire, recherche basée sur un système de cartographie informatique complexe.

Si un chemin est trouvé, la transaction, de base relativement simple, sera ici transformée en un paquet de données ultra-codé et hashé portant avec lui toutes les informations et authentifications nécessaires afin d’arriver à destination.

Dans le cas contraire, la transaction sera traitée « à l’ancienne »

Par contre, si les fondements du bitcoin vont donc être bouleversés, ses spécificités resteront les mêmes qu’avant. Même avec son nouveau fonctionnement à « deux étages », le bitcoin restera une monnaie électronique décentralisée, désintermédiée, et libre de toute censure.

Le Lightning Network commence maintenant…

Comme nous le disions, le Lightning Network commence à exister puisque ses premières implémentations sont testées en live depuis le mois de janvier. La grande expérimentation a donc commencé et si tout se passe sans trop d’accrocs, l’adoption graduelle de ce nouveau système va peu à peu métamorphoser le bitcoin et faire enfin de lui la monnaie alternative quasi-universelle qu’il prétend être.

Il faut vérifier que tout fonctionne comme prévu, qu’aucun bug ne risque de faire perdre leurs fonds à des utilisateurs.

Il faut aussi, et surtout, s’assurer de la sécurité des nodes ou des canaux de paiement, qui contiennent en ligne à la fois des fonds et des clés privées. En effet ce point est vraiment primordial car d’un certain point de vue le Lightning Network équivaut à un réseau de hot wallet (c’est à dire de wallet bitcoin en ligne) qui communiqueraient entre eux. Si la confiance dans le système n’est pas totale, ça en sera terminé car personne ne voudra immobiliser ses bitcoins en ligne au risque de les voir disparaître.

Il y aura aussi beaucoup d’autres choses à observer car un Lightning Network fonctionnel va probablement modifier tout l’écosystème du bitcoin. Va-t-il provoquer des déséquilibres ? Va-t-on vers moins ou plus de centralisation du réseau ? Les mineurs vont-ils y gagner ou y perdre ? Trop de fonds servant à alimenter les nodes ne peuvent-ils pas nuire à la circulation de la monnaie ?

Un peu d’ironie…

Un aspect plutôt cocasse du sujet est que si tout se passe bien, c’est à dire si le Lightning Network fonctionne comme espéré et favorise un nouvel élan dans l’adoption et l’utilisation du bitcoin, il faudra probablement, et quand même, en venir à une mesure d’augmentation de scalabilité sur la blockchain elle-même.

On peut très bien imaginer qu’en cas d’adoption massive du bitcoin, la blockchain ne puisse plus supporter les transactions d’ouvertures et de fermetures des canaux de paiement en plus des « grosses » transactions classiques « on chain ». Et dès lors, il faudra sûrement augmenter la taille des blocs de la blockchain. C’est à dire à en venir à la mesure même à laquelle les partisans du Lightning Network s’opposaient au départ.

Évidemment, les conditions qui pousseront à cette décision ne seront plus du tout les mêmes. Dans un cas cette augmentation des blocs était une mesure peu efficace et paresseuse, dans l’autre elle servira cette fois à soutenir un réseau à la scalabilité virtuellement infinie. Néanmoins, ce petit retour en arrière, s’il s’avère nécessaire dans le futur, ne manquera pas d’ironie…

 

 

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *