Première crypto-monnaie à avoir été officiellement ouverte au grand public, le Bitcoin représente indéniablement la locomotive qui tire avec elle tout l’écosystème crypto et le fait avancer. Il est aussi possible d'améliorer ses performances grâce à certaines technologies connexes. Le Lightning network fait partie de ces dernières. Fonctionnant par l’établissement de canaux bidirectionnels peer-to-peer, il fournit un réseau parallèle via lequel deux utilisateurs peuvent aisément échanger des pièces de BTC. Qu’est-ce que le réseau Lightning et comment interagit-il avec la Blockchain Bitcoin ? Comment les utilisateurs peuvent-ils utiliser le Lightning network ?
Le Lightning network accélère les transactions en BTC (à travers des micropaiements rapides), et réduit leurs coûts.
Le Lightning network est un protocole développé en surcouche à la Blockchain Bitcoin. Ce protocole se met en œuvre sur la base de l’ouverture de canaux de paiements fonctionnant en double direction. Les canaux de paiement s’établissent entre deux utilisateurs liés par une relation fondée sur une présomption de confiance. Suivant cette présomption de confiance, les deux utilisateurs prennent l’engagement de se transférer des bitcoins, sans se servir de la Blockchain BTC mère. Ce principe définit le réseau Lightning à la plus petite échelle envisageable. À grande échelle, il consiste en une sorte de large filet, au sein duquel chaque nœud peut remplir toutes les fonctions : envoyer, recevoir, relayer (servir d’intermédiaire).
Ce réseau en 2ème couche dispose d’une capacité avérée à fonctionner presque entièrement en dehors du la Blockchain centrale, et donc à effectuer des paiements sans attendre leur validation par des nœuds officiels du Bitcoin.
Les travaux du projet de création du Lightning network ont démarré en2015. Joseph Poon et Thaddeus Dryja ont alors publié un livre blanc dans lequel ils décrivaient le fonctionnement de ce protocole Layer 2. Il faudra toutefois attendre 2017 pour que les idées présentées dans ce document puissent être implémentées de façon étendue par Lightning Labs.
En 2017, la mise à jour SegWit (Segregated Witness) de Bitcoin augmente la capacité des blocs (nombre de transactions Bitcoin supportées), et offre la possibilité que de nouveaux protocoles soient greffés à la Blockchain BTC. L’arrivée du dispositif SegWit dans l’écosystème Bitcoin a facilité le développement et le déploiement du Lightning network.
Pour analyser les raisons de la création du réseau Lightning, il faut dans un premier temps comprendre les besoins d’amélioration du réseau Bitcoin.
Le Bitcoin fonctionne par émission et validation de blocs par des mineurs, qui hébergent les transactions. Chaque bloc dispose d’une limite au niveau du nombre de transactions qu’il peut accueillir (initialement, environ 2 500 transactions). Or, 1 bloc est ajouté environ toutes les 10 minutes, ce qui correspond à 5 transactions à peine par seconde. Il en résulte une congestion et une concurrence soutenue entre les transactions : les frais de réseau deviennent de plus en plus élevés à mesure que les utilisateurs veulent que leurs opérations soient rapidement exécutées. En parallèle, de nombreux transferts de BTC sont mis en attente. Au bout du compte, les transactions sur la Blockchain originelle sont finalisées avec une certaine lenteur. La Blockchain Bitcoin souffrait d’un problème de faible évolutivité.
La technologie Lightning et les autres technologies développées en Layer 2 ou 3 par-dessus la Blockchain originelle, ont pour objectif de rendre les transactions en BTC plus rapides, tout en réduisant les coûts. Spécifiquement en ce qui le concerne, le réseau Lighning y parvient en s’appuyant sur un système exploitant diverses entités et opérations.
Pour effectuer des transferts de bitcoins via le réseau Lightning, les utilisateurs liés par une relation de confiance présumée exécutent d’abord une transaction d’ouverture. Hébergée sur la Blockchain Bitcoin de base, cette transaction consiste pour eux à déposer des bitcoins dans une adresse commune. Il s’agit d’une adresse multisig, qui requiert la signature des deux utilisateurs. Le montant déposé sur l’adresse multisig fait office de garantie et « protège » les futures transactions Bitcoin entre les deux utilisateurs.
Tant que cette adresse demeure ouverte, elle représente le canal via lequel les deux utilisateurs peuvent s’envoyer autant de bitcoins qu’ils souhaitent, dans la limite de la transaction d’ouverture. Pour chaque envoi, il leur suffit de transmettre un message signé, appelé engagement, et qui contient une preuve cryptographique. Les engagements sont visibles et conservés par les deux utilisateurs, mais ne restent pas stockés sur la Blockchain.
Cette procédure demeure la même lorsqu’un utilisateur doit servir d’intermédiaire entre deux autres utilisateurs n’ayant pas de canal de paiement commun. L’intermédiaire récupère la transaction chez l’émetteur, par les messages signés, et la transmet au récepteur, de nouveau par les messages signés contenant les preuves cryptées.
Pour le déroulement de ce processus, le réseau Ligntning s’appuie sur quatre dispositifs / fonctionnalités.
· Les canaux de paiement : contrats entre les utilisateurs souhaitant effectuer des transactions.
· Le routage : symbolise le maillage du réseau et permet l’envoi de bitcoins entre deux utilisateurs ne disposant pas d’un canal de paiement commun.
· Les hashlocks ou hashed timelock contracts : le mécanisme des hashlocks sert à sécuriser le routage grâce à des clés secrètes.
· Les canaux spéculatifs : en principe, au sein du Lightning network, le montant des microtransactions ne peut pas excéder le montant de l’engagement d’ouverture. Les canaux spéculatifs s’utilisent pour surmonter cette limite.
Le réseau Lightning contribue de plusieurs manières à un meilleur fonctionnement du réseau Bitcoin. D’une part, il augmente la capacité du réseau, accroissant ainsi le nombre de transactions par bloc. Par ailleurs, il améliore la vitesse de transaction, et permet aux utilisateurs de bénéficier de frais réduits. Il participe aussi au renforcement de la confidentialité.