Tout sur le Bitcoin et les Altcoins

Tout sur le Bitcoin et les Altcoins

Le Lightning Network pour les Nuls

Le succès phénoménal rencontré par le Bitcoin en 2017 aura mis en exergue certaines des limitations techniques de sa Blockchain. Parmi celles-ci, le nombre limité de transactions pouvant être traitées à la seconde est sans nulle doute la plus préoccupante. En effet, le réseau Bitcoin est limité à moins de 10 transactions validées par secondes. Cette limitation entraîne un engorgement important du réseau dès lors que le nombre de transactions dépasse un certain seuil. Le second gros point noir découle de cette limitation puisqu’en cas d’engorgement du réseau Bitcoin, les frais de transaction ont tendance également à s’envoler.

Le Lightning Network pour les Nuls

Afin d’adresser les différentes problématiques rencontrées par la Blockchain Bitcoin, le protocole Lightning Network a été imaginé. Il vise à favoriser la scalabilité et la vitesse d’échange sur les Blockchains en général et sur la Blockchain Bitcoin en particulier. Dans cet article, nous vous proposons une découverte complète du Lightning Network.

1. Pourquoi le Bitcoin a-t-il besoin du Lightning Network ?

Les Blockchains de première génération comme le Bitcoin sont globalement lentes. Pire encore, elles sont bien souvent très onéreuses. Les frais de transaction ont tendance à s’envoler rapidement dès lors que le nombre de transactions augmente fortement. L’envoi de Bitcoins peut à certain moment prendre plusieurs heures avec des frais très importants. Une telle problématique est clairement pénalisante pour une adoption en masse du Bitcoin et des Blockchains.

De fait, toute idée pouvant permettre de résoudre le problème de scalabilité des Blockchains mérite clairement l’attention des crypto enthousiastes mais également du temps et des efforts pour éventuellement l’implémenter. Le Lightning Network est tout simplement une de ces idées. Avant de détailler le problème que vient résoudre le Lightning Network, il paraît important de définir en détails ce problème.

2. Pourquoi les Blockchains sont-elles lentes ?

Une Blockchain est avant tout un registre, un grand livre de comptes comme nous l’avons vu dans "La Blockchain pour les Nuls". Ce registre contient un nombre important de pages qui sont les blocs. Chaque page (ou bloc) comporte plusieurs transactions. Dès qu’une page est remplie entièrement par des transactions, elle doit être ajoutée au registre avant que l’on puisse enregistrer les transactions sur la page suivante.

Avant qu’une page (ou bloc) puisse être ajoutée au registre (la fameuse chaîne de blocs), certains traitements doivent être réalisés afin de s’assurer que tout le monde est d’accord avec le contenu du registre. Ce processus de validation prend approximativement 10 minutes pour chaque bloc de la Blockchain Bitcoin.

Considérons que vous envoyez 1 BTC a un ami. La transaction aura l’allure suivante :

Transaction en Bitcoin

Comme nous l’avons vu dans notre tutoriel détaillant la création d’une Blockchain en 30 minutes, une transaction contient un certain nombre d’informations parmi lesquelles l’expéditeur, le destinataire, le montant et les frais de transaction.

3. Pourquoi y a-t-il des frais de transaction ?

La Blockchain est révolutionnaire mais même là, on ne peut échapper à des frais de transactions. Le paiement de ces frais va inciter les mineurs à inclure votre transaction dans un bloc aussi vite que possible comme nous l’avons détaillé dans "Qu’est-ce que le minage de Bitcoin ?". Il n’y a pas de prix fixe pour ces frais et chacun peut choisir combien il est prêt à payer pour accélérer le processus de validation de sa transaction. Fort logiquement, plus les frais sont élevés, plus la transaction sera traitée rapidement par les mineurs.

A tout moment, il y a plusieurs transactions en cours d’enregistrement sur la page courante du registre.

Le registre de la Blockchain

Les mineurs, c’est-à-dire les ordinateurs travaillant au sein du réseau d’une Blockchain, doivent choisir les transactions à inclure en premier au sein du bloc courant. Les transactions offrant les meilleures récompenses, c’est-à-dire avec les frais de transaction les plus élevés, seront sélectionnées en premier.

Frais de transactions sur la Blockchain

Imaginons qu’il y ait suffisamment de transactions avec des frais plus élevés que la vôtre pour compléter un bloc. Dans ce cas, votre transaction sera laissée en attente pour une validation au sein du bloc suivant. L’attente pouvant aller de quelques minutes à plusieurs heures. Et malheureusement, cela peut monter à quelques jours dans le cas d’une saturation du réseau d’une Blockchain comme pour le Bitcoin en fin d’année 2017. Il faut donc bien retenir que plus vous serez prêt à payer des frais de transaction importants, plus vite votre transaction sera traitée.

Ce fonctionnement explique pourquoi les Blockchains de première génération comme le Bitcoin sont lentes avec des frais de transactions bien souvent très élevés. Alors que le plus grand nombre de transactions, induit par une augmentation du nombre d’utilisateurs du Bitcoin, est globalement positif, cela va en fait engorger le réseau et donc ralentir son adoption puisque les nouveaux entrants risquent d’être échaudés.

C’est là que se pose le Lightning Network avec son protocole qui se veut être une solution potentielle à ce problème.

4. Qu’est-ce que le Lightning Network ?

Le problème posé en détails, nous pouvons maintenant définir ce qu’est le Lightning Network. L’idée derrière ce protocole est simple : toutes les transactions ne doivent pas obligatoirement être enregistrées au sein de la Blockchain.

Imaginons que vous effectuiez des transactions en Bitcoin avec un ami. Dans ce cas précis, l’enregistrement des transactions au sein de la Blockchain peut être omis et il n’est pas nécessaire de les intégrer à la chaîne de blocs.

Plus concrètement, un channel de paiement (ou canal de paiement en Français) va être ouvert entre les deux amis. L’ouverture de ce channel de paiement va être enregistrée au sein de la Blockchain. A partir de ce moment-là, les deux amis vont pouvoir effectuer autant de transactions qu’ils le souhaitent au sein de ce channel et il pourra rester ouvert autant de temps qu’ils le souhaitent (plusieurs heures, jours, ou années …). La Blockchain sera impactée uniquement lorsque le channel de paiement sera fermé. Lors de cette fermeture, le statut final des transactions réalisées au sein du channel sera enregistré dans le registre de la Blockchain.

En s’appuyant sur cette idée de channel de paiement, il est possible de créer un réseau de canaux de paiement de telle sorte que le nombre de transactions devant être enregistrées sur la Blockchain va diminuer drastiquement. Considérons trois personnages : Adam, Syara et Nathan.

Si Adam et Syara ont un channel de paiement ouvert entre eux et que Syara et Nathan ont également un channel de paiement ouvert entre eux, alors Adam peut envoyer de l’argent à Nathan via Syara. Supposons que Adam envoie 2 BTC à Nathan. Syara enverra 2 BTC à Nathan et Adam devra rembourser Syara avec 2 BTC.

C’est le coeur même du protocole Lightning Network. La Blockchain et son registre étant moins touchés, les transactions vont pouvoir s’exécuter de manière bien plus rapide. La magie du Lightning Network va donc résider dans ces fameux channels de paiement.

5. Qu’est-ce qu’un channel de paiement ?

Un channel de paiement peut être vu comme une boîte sécurisée où 2 personnes vont déposer des montants égaux tout en mettant chacun leur cadenas pour verrouiller la boîte.

Transaction sur un channel de paiement

Le fait de déposer des montants d’argent égaux dans une boîte commune est enregistré au sein de la Blockchain sous la forme d’une ouverture de transaction, ou "Opening Transaction" en Anglais. Dès lors, un channel de paiement est ouvert entre ces 2 personnes.

L’argent est bloqué au sein de la boîte afin de garantir qu’aucune des deux personnes ne peut dépenser l’argent contenu dans la boîte sans la seconde personne. L’argent dans la boîte ne peut être utilisé que pour réaliser des transactions entre chacune des deux personnes.

Créer un compte Coinbase

Imaginons maintenant que Adam et Syara mettent 10 BTC chacun dans la boîte commune. Si Adam veut envoyer 2 BTC à Syara, comment cela peut-il être fait ?

Afin de réaliser cette transaction, Adam devrait transférer une promesse de propriété pour deux des Bitcoins de la boîte commune à Syara. Une fois ce transfert de promesse réalisé, si la boîte est déverrouillée, Adam pourra prendre 8 BTC et Syara sera en droit de réclamer 12 BTC.

Transaction sur un channel de paiement avec 2 BTC

Cependant, ils n’ouvriront probablement pas la boîte car ils souhaiteront continuer à réaliser des transactions ensemble. C’est là que réside la beauté de l’arrangement.

Maintenant, le jour suivant, Syara doit envoyer 1 BTC à Adam. Elle effectue également un transfert de propriété de 1 BTC à Adam. Une fois ces 2 transactions réalisées, si la boîte est ouverte, Adam pourra réclamer 9 BTC et Syara pourra en obtenir 11. Le schéma suivant montre l’évolution des échanges au sein du channel de paiement.

Transaction sur un channel de paiement avec 1 BTC

Pour résumer, un channel de paiement n’est rien d’autre que la mise en commun d’une somme d’argent au sein d’une boîte dans le but d’effectuer des transactions en échangeant des promesses de propriété sur la somme contenue dans la boîte. En outre, il est bon de préciser que Adam et Syara peuvent fermer le channel à tout moment si l’un ou l’autre le souhaite.

La fermeture d’un canal revient simplement à ouvrir la boîte pour répartir l’argent s’y trouvant entre les 2 personnes présentes au sein du channel. L’ouverture de la boîte se réalise alors via la Blockchain et les montants possédés par chacun sont alors enregistrés pour toujours au sein du grand livre de comptes.

Ouverture boîte d'un channel de paiement

Cet exemple simple nous aura permis de mettre en évidence le fonctionnement du Lightning Network. Cependant, il ne permet que d’entrevoir le potentiel réel du protocole. En effet, le protocole donne sa pleine mesure lorsque deux ou plusieurs channels de paiement travaillent ensemble afin de former un réseau : le fameux Lightning Network.

6. Comment fonctionne le Lightning Network ?

Le Lightning Network fonctionne en déplaçant la valeur de la propriété des Bitcoins vers la promesse de propriété des Bitcoins. Il s’agit là d’un changement énorme. Pour bien comprendre cela, nous allons encore utiliser un exemple impliquant 3 personnes : Adam, Syara et Nathan. On considère qu’un channel de paiement entre Adam et Syara est ouvert et qu’un autre channel de paiement est ouvert entre Syara et Nathan. Précisons également qu’il n’y a pas de channel de paiement entre Adam et Nathan.

Adam veut alors transférer 2 BTC à Nathan. Il peut alors utiliser le channel de paiement entre Syara et Nathan pour réaliser cette transaction. Comment cela se traduit concrètement ?

Adam demande à Syara de transférer une promesse de 2 BTC à Nathan sur le channel de paiement entre Syara et Nathan. Ensuite, il rembourse Syara avec 2 BTC sur le channel entre lui et Syara.

Réseau de channels de paiement

Avec un tel réseau de channels de paiement, un nombre important de transactions peut être déchargé de la Blockchain pour une exécution hors de la chaîne. La bande passante de la Blockchain s’en trouve alors grandement allégée. Le recours à un réseau de canaux de paiement permettrait l’exécution de millions de transactions hors Blockchain et donc sans aucun frais de transaction.

C’est là que réside toute la magie du Lightning Network !

N’hésitez pas à réagir en commentaires en nous donnant votre point de vue sur ce protocole qui pourrait sauver le Bitcoin et ses problèmes de saturation en favorisant son adoption auprès du grand public.

NB : Certaines des illustrations de cet article ont été adaptées à partir d'images du site Anglais CoinTelegraph

Partager