Ouverture et Fermeture des canaux

Ouverture et fermeture des canaux Lightning

Le réseau Lightning correspond à la deuxième couche (Layer 2) de Bitcoin. Il s’agit d’un protocole, construit au-dessus de la couche 1, qui lui permet d’évoluer en termes de quantité et de vitesse des transactions (scalability) et qui permet de réduire considérablement les frais exigés pour les petites transactions de paiement.

La couche 2 est donc la réponse à la nécessité d’utiliser Bitcoin comme système de paiement. Grâce à cela, il est possible d’utiliser la couche 1 (la time-chain Bitcoin) comme seule méthode de règlement et de justice.

Accès au Layer 2

Pour accéder au réseau Lightning, il est nécessaire d’ouvrir un canal, qui dans la pratique est une relation financière entre deux nœuds du réseau (avec une implementation Lightning LND ou CLN). Le mouvement des fonds entre les deux partenaires du canal est régi par les règles du protocole et permet le transfert de valeur sans avoir à écrire de données sur la time-chain, sauf l’ouverture initiale du canal et sa fermeture au moment opportun.

Le protocole de routage permet également le transfert d’une transaction entre des pairs qui ne sont pas directement reliés par un canal et rend ainsi le réseau Lightning très puissant.

Ouverture du canal

Pour accéder au réseau Lightning, nous devons donc effectuer une première opération on-chain, c’est-à-dire l’ouverture du canal (channel open).

L’ouverture d’un canal Lightning verrouille une quantité de satoshi (la capacité de ce canal) dans une relation entre les deux nœuds (les deux nœuds forment essentiellement une relation multi-signature 2/2).

Une fois que le canal est ouvert, les fonds peuvent être transférés d’un côté du canal à l’autre sans écrire sur la blockchain de Bitcoin. Les transactions peuvent également être effectuées avec des nœuds qui ne sont pas directement connectés, mais qui font partie d’autres connexions vers lesquelles il existe une route utile (path finding and routing).

Un canal éclair peut rester ouvert indéfiniment et aussi longtemps que l’autre partie est en ligne et continuer à faire des transactions sans jamais revenir on-chain. À un moment donné, une partie du canal (l’un des deux nœuds) pourrait vouloir fermer le canal et récupérer on-chain sa part de liquidité. Il y a deux possibilités pour fermer le canal:

Fermeture du Canal

1) Fermeture coopérative. Dans ce cas, les nœuds sont tous deux en ligne au même moment et conviennent de fermer le canal avec une transaction finale de fermeture qui distribue correctement leurs actifs (on-chain).

2) Fermeture non coopérative (sans tentative de tricherie). Ce type de fermeture est effectué si l’une des deux parties n’est pas en ligne et ne peut donc pas participer activement. Dans ce cas, la partie active crée une fermeture qui est basée sur les smart contracts initialement établis lors de la création du canal. Il n’y a pas de tricherie car la partie active crée le verrou avec les distributions de valeurs correctes dans les canaux.

3) Fermeture non coopérative (avec tentative de tricherie). Ce type de fermeture est effectué si l’une des deux parties n’est pas en ligne et ne peut donc pas participer activement. Dans ce cas, cependant, contrairement au cas précédent, la partie active tente de fermer le canal avec une distribution d’actifs qui n’est pas actuelle, c’est-à-dire avec un état antérieur, tentant ainsi une tricherie.

Si cette escroquerie est découverte à temps par l’autre partie, elle peut utiliser le smart-contract qui fait partie de la sécurité de Lightning pour exercer la “justice transaction” qui punit la partie qui a commis l’escroquerie en allouant toutes les liquidités du canal.

Si, en revanche, l’escroquerie n’est pas découverte à temps, la fermeture non coopérative aura lieu comme au point 2) et sera réussie.

Ces transactions onchain, qui sont liées à l’ouverture et à la fermeture des canaux Lightning, sont particulières et présentent chacune des caractéristiques différentes en termes de confidentialité. Actuellement, la fermeture non coopérative est celle qui révèle le plus d’informations au moment où elle est écrite onchain, alors que quand taproot sera implémenté comme base sur Lightning, les choses changeront ici aussi, augmentant la confidentialité même dans le cas d’une fermeture non coopérative.

Dans l’intervalle, il est conseillé de garder un canal Lightning ouvert autant que possible et, en cas de fermeture, de le fermer en coopération si possible.

Partager

Massimo Musumeci

Massimo Musumeci est physicien depuis 1997. Chercheur Bitcoin dans le domaine de la sécurité et confidentialité chez Denali Sàrl La Chaux-de-Fonds, Suisse.

Laisser un commentaire

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