Qu’est-ce le Lightning Network ?

Si on le traduisait en français, le « réseau éclair ». Le Lightning Network est une possible future fonctionnalité de Bitcoin, qui en est encore au stade de proposition. L’idée est d’implémenter des HTLC (Hashed TimeLock Contracts – des contrats sécurisés par un système de hachage et d’irréversibilité de transaction) avec des canaux de paiements bi-directionnels.  Cela permettrait la création d’un réseau où n’importe quelle utilisateur pourrait payer un autre utilisateur même sans canal de transaction directement ouvert entre eux deux.

Le Lightning Network présente plusieurs avantages.

Paiements rapides : les paiements à l’intérieur d’un canal sont quasiment aussi rapides que le temps que mettent les données sur Internet à être échangées entre deux utilisateurs.

Pas de recours à un tiers : les deux utilisateurs d’un canal se paie l’un l’autre en utilisant directement des transactions Bitcoin usuelles, de sorte qu’il n’y a à aucun moment besoin d’avoir recours en un tiers de confiance.

Moins demandant pour la blockchain : Seules sont enregistrées sur la blockchain les transactions qui ouvrent et ferment un canal – ainsi que les retours d’argent empêchant les escroqueries. Les autres paiements à l’intérieur du Lightning Network ne sont pas enregistrés. Cela permet aux utilisateurs d’effectuer de nombreux paiements sécurisés par Bitcoin sans avoir à surcharger les clients complets (full nodes) qui doivent valider les transactions.

Les canaux peuvent rester ouverts indéfiniment : aussi longtemps que les utilisateurs d’un canal continue de coopérer, le canal peut rester ouvert. Cela permet de réduire le nombre de transactions devant être enregistrées sur la blockchain – puisque n’y sont enregistrées que les transactions qui ouvrent un canal, et ferment un canal. Par conséquent, les coûts de transaction initiaux peuvent être amortis sur un plus long intervalle de temps.

Les canaux peuvent être fermés sans délai : si les deux partis sont d’accord, alors un canal peut être immédiatement fermé –même si les utilisateurs peuvent vouloir une ou deux confirmations supplémentaire pour être absolument sûrs que le canal a été fermé dans son état actuel. Des clôtures non-coopératives – par exemple quand un des utilisateurs disparaît – sont possibles mais prennent plus de temps

Externaliser le processus pour se protéger des fraudes : si l’un des deux partis clôt le canal d’une manière suspicieuse, par exemple pour voler des fonds, l’autre parti a une période de temps définie pour agir de sorte à bloquer la tentative de vol. Cette fonction peut recourir à un tiers sans lui donner accès aux fonds, ce qui permet de mettre les wallets hors-ligne en toute sécurité et pour une période plus longue que celle prévue par le réseau.

Un système à couches d’oignon : la transmission des informations de paiement sont cryptées à la manière d’un oignon, typique de programmes tels que Tor. Un node intermédiaire connaît seulement le node avant et après lui dans la chaîne de transmission (de qui il a reçu les données et à qui il les envoie), de sorte qu’il lui est impossible de connaître la source et la destination du paiement – à la seule condition que les intermédiaires ne se soient pas consultés pour comparer leurs historiques.

Les signatures multiples sont possibles : chaque utilisateur peut demander à ce que leurs paiements via le canal soient signés par plusieurs clés, ce qui augmente drastiquement la sécurité des transactions.

Passer d’une blockchain à l’autre en toute sécurité : les paiements peuvent être transmis vers plusieurs blockchains (celles des altcoins et des chaînes secondaires) aussi longtemps que les blockchains en question ont la même fonction de hachage pour les HTLC.

Des paiements inférieurs au satoshi : des paiements peuvent être effectués de manière conditionnelle, basés sur des événements aléatoires, ce qui permet des paiement probabilistes. L’utilisateur A peut payer 0.1 satoshi à l’utilisateur B en créant un paiement de 1 satoshi avec une probabilité de 10 contre 1, de sorte que dans 90% des fois où A paie B de cette manière, A paie 0 satoshi, et 10% du temps, A paie 1 satoshi, de sorte qu’en moyenne, A paie 0.1 satoshi.

Des canaux qui peuvent n’avoir qu’un seul foncier : si un utilisateur ne peux pas utiliser le Lightning Network pour envoyer un paiement (soit parce qu’il n’arrive pas à joindre le bénéficiaire du paiement soit parce qu’il n’a pas assez d’argent sur un canal existant), il peut créer un paiement sur la blockchain qui crée un canal avec le second utilisateur, sans que ce dernier n’aie besoin d’y ajouter ses avoirs fonciers. Le premier utilisateur utilise alors 12 bytes de plus que pour un paiement direct hors Lightning Network et le deuxième utilisateur n’a besoin que de 25 bytes virtuels segwit supplémentaires pour clore le canal, par rapport à la quantité habituelle d’un paiement hors Lightning Network.