Bitcoin Lightning: Comment Ça Marche?
"Bitcoin Lightning" est un protocole de seconde couche construit au-dessus de la "timechain" de Bitcoin. Il a révolutionné les microtransactions en offrant des transferts rapides et peu coûteux.
Le réseau Lightning fonctionne en peer-to-peer (P2P), c'est-à-dire que toutes les transactions sont effectuées sur un réseau hors chaîne construit au-dessus de la chaîne de blocs Bitcoin. C'est pourquoi le protocole est considéré comme une solution de couche 2, la chaîne de blocs elle-même étant de couche 1.
Dans cet article, nous allons explorer les étapes d'une transaction via des canaux de paiement du réseau Lightning, de l'ouverture d'un canal, jusqu'à sa fermeture, en passant par comment une microtransaction est propagée au travers de plusieurs canaux.
Joseph Poon et Thaddeus Dryja ont présenté le concept du réseau Lightning dans leur livre blanc "The Bitcoin Lightning Network : Scalable Off-Chain Instant Payments". Ce travail de 2016 a défini les bases et a amorcé la conception du protocole LN qui, depuis, a évolué grâce aux différentes implémentations, toutes compatibles avec les spécifications du protocole BOLT (Basis of Lightning Technology).
Avant de commencer notre découverte de la mécanique qui permet au réseau Lightning d'exister et de permettre des microtransactions, peu dispendieuses et quasiment instantanées, il est important de garder en tête l'analogie (imparfaite) suivante:
- Tout commence par avoir accès à des Bitcoins "onchain", ces fonds peuvent être considérés comme notre épargne à moyen et long terme. C'est, en général, ici que se trouve la plus grosse partie de nos actifs.
- Les fonds court-terme de dépenses, ou notre compte courant, se retrouvent dans notre portefeuille Lightning.
Ouverture d'un canal de paiement
L'ouverture d'un canal de paiement revient à établir un tunnel privé entre deux parties. Cela permet à plusieurs transactions d'avoir lieu en dehors de la chaîne Bitcoin, réduisant ainsi la congestion de la chaîne de blocs principale de Bitcoin. Un canal ne nécessite que deux transactions sur la chaîne : une pour l'ouvrir et une pour le fermer.
Pour commencer des transactions sur le réseau Lightning, il faut financer le canal. Cela implique d'engager un certain montant de bitcoins de son portefeuille dans le canal, c'est ce qui définit la capacité maximale pour les transactions jusqu'à ce que le canal soit fermé ou que d'autres fonds soient ajoutés.
Une fois la transaction d'ouverture confirmée (en général après plus de 3 confirmations) sur la chaîne de blocs, il devient alors possible de transiger instantanément, hors chaîne, avec la personne avec laquelle vous avez ouvert votre canal.
Transiger sur le réseau Lightning
Transaction directe
Dans les limites du canal de paiement, les parties peuvent effectuer un nombre infini de transactions, tant que le montant cumulé ne dépasse pas le financement du canal. Ces transactions sont instantanées et se déroulent en temps réel entre les parties concernées.
Après chaque transaction, la répartition des fonds au sein de la chaîne change. Les deux parties conservent une copie locale de l'état du canal. Par exemple, ci-dessous, si Alice finance un canal avec 0,5 BTC et envoie 0,1 BTC à Bob par l'intermédiaire du canal, elle détient maintenant 0,4 BTC et Bob 0,1 BTC dans les soldes du canal.
Paiements à bonds multiples
L'une des caractéristiques les plus innovantes du réseau Lightning est son aptitude à faciliter les paiements à bonds multiples.
Au lieu de devoir exiger un canal direct entre deux nouvelles parties à chaque nouvelle transaction, le réseau Lightning permet de transmettre les paiements par le biais de nœuds intermédiaires.
Transfert par un seul intermédiaire
Commençons par un exemple simplifié:
- Alice dispose d'un canal avec Bob, où elle détient 0,5 BTC.
- Bob, quant à lui, dispose d'un canal séparé avec Carole, où il possède 0,3 BTC.
Alice souhaite envoyer 0,1 BTC à Carole. Cependant, Alice ne dispose pas d'un canal direct avec elle. Au lieu d'établir un nouveau canal (ce qui nécessiterait beaucoup de ressources), Alice peut utiliser Bob comme intermédiaire pour acheminer son paiement.
Voici la séquence de la transaction qui se passe sans que Alice, Bob ou Carole ait besoin de s'en préoccuper:
- Alice envoie 0,1 BTC à Bob sur leur canal partagé. Après cela, le solde d'Alice est réduit à 0,4 BTC, tandis que le solde de Bob sur le canal Alice-Bob augmente à 0,1 BTC.
- Bob, après avoir reçu les 0,1 BTC d'Alice, transmet ce montant à Carole sur son propre canal. Cela réduit le solde de Bob à 0,2 BTC sur le canal Bob-Carole, tout en augmentant le solde de Carole.
- Pour son rôle dans la facilitation de cette transaction, Bob conserve un montant minuscule - quelques satoshis - à titre de frais d'acheminement. Cela incite les nœuds à participer à l'acheminement des paiements, garantissant ainsi la fluidité et la fonctionnalité du réseau.
Transfert par plusieurs intermédiaires
Le transfert n'est pas limité à trois nœuds. Les paiements peuvent être acheminés à travers plusieurs nœuds, connectant essentiellement n'importe quel nœud à n'importe quel autre au sein du réseau Lightning. Toutefois, l'utilisateur n'est pas confronté à cette complexité, la recherche des itinéraires de paiement étant automatisée dans les portefeuilles.
Clôture d'un canal de paiement
Un canal de paiement peut être fermé par l'une ou l'autre des parties à tout moment. Pour fermer le canal, le dernier état (répartition du solde) est transmis au réseau Bitcoin et traité comme une transaction normale.
À la fermeture du canal, les soldes courants sont réglés sur la chaîne de blocs Bitcoin. Dans l'exemple suivant, Alice reçoit 0,4 BTC et Bob 0,1 BTC dans leurs portefeuilles Bitcoin "onchain" respectifs.
Conclusion
Le réseau Lightning, avec ses capacités de transaction hors chaîne, apporte une facilité et une efficacité sans précédent aux transactions en bitcoins. Alors que nous nous dirigeons vers un avenir où les microtransactions instantanées deviendront la norme, l'importance et l'utilité du réseau Lightning ne peuvent qu’augmenter. Que vous soyez un utilisateur occasionnel ou un passionné de Bitcoin, il est essentiel de comprendre les subtilités des transactions Lightning afin de naviguer de façon souveraine dans le paysage changeant des monnaies numériques.