Actifs numériques
Interruptions des nœuds Lightning : que s’est-il passé avec LND ?

En octobre et début novembre 2022, des nœuds utilisant LND, une implémentation du Lightning Network de Bitcoin, ont subi deux interruptions en moins d’un mois. Un utilisateur a fait inclure dans des blocs des transactions inhabituelles mais valides selon les règles de Bitcoin. Elles ont révélé des erreurs de traitement dans LND, empêchant les nœuds concernés de continuer à suivre la chaîne Bitcoin. Il ne s’agissait ni d’un arrêt de tout le Lightning Network ni d’une modification des règles de consensus de Bitcoin. L’utilisateur était connu sur Twitter sous le nom de Burak, avec le pseudonyme @brqgoo.
Les actions de Burak
Selon des informations qui circulaient alors et ne sont pas confirmées ici, Burak aurait payé 700 dollars au grand pool de minage Bitcoin F2Pool pour faire inclure sa transaction inhabituelle. Celle-ci contenait le message : « Vous utiliserez CLN et vous serez heureux. » CLN signifie Core Lightning, une implémentation du Lightning Network distincte de LND (Lightning Network Daemon). Le problème décrit touchait LND ; Core Lightning n’était pas affecté par cette erreur précise.
L’incident de début novembre était le deuxième en un mois. En octobre, Burak a tweeté : « Je viens d’effectuer une multisignature tapscript exigeant 998 signatures sur 999, pour seulement 4,90 dollars de frais. » Cette transaction a révélé une erreur de traitement qui empêchait les nœuds LND concernés de poursuivre leur synchronisation avec la chaîne Bitcoin. Lightning ne produit pas ses propres blocs : l’incident ne signifiait donc pas qu’il avait manqué la production d’un bloc.
À l’occasion du deuxième incident, début novembre 2022, il a publié un tweet disant : « Parfois, pour trouver la lumière, nous devons d’abord toucher l’obscurité. » Certains le considéraient comme un attaquant malveillant, d’autres comme une personne testant la résistance du logiciel et révélant ses faiblesses. René Pickhardt, développeur et formateur Bitcoin et Lightning, a indiqué que ses nœuds Core Lightning n’avaient pas été touchés. Cela ne garantissait toutefois pas, selon lui, l’absence d’autres erreurs encore inconnues dans Core Lightning.
https://twitter.com/renepickhardt/status/1587412127240830977?t=CruzE6Z16ST8V2CO6LcuGA&s=19
Lightning Labs, qui développe LND et contribue à l’écosystème Lightning, a réagi en publiant un correctif d’urgence sur GitHub. La version v0.15.4-beta du 1er novembre 2022 corrigeait le traitement de certaines transactions contenant un très grand nombre d’éléments witness. En octobre, la version v0.15.2-beta avait déjà corrigé le traitement de certains blocs volumineux. Lightning Labs développe donc une implémentation importante, et non à lui seul tout le Lightning Network.
Qu’est‑ce que le Lightning Network et pourquoi est‑il important pour Bitcoin ?
Le Lightning Network est une solution de couche 2 destinée à accroître la capacité des paiements Bitcoin. L’espace limité dans les blocs peut entraîner une hausse des frais et des confirmations plus lentes en période de congestion. Lightning déplace de nombreuses mises à jour de paiement hors de la chaîne principale, tout en s’appuyant sur Bitcoin pour le règlement. C’est un protocole complémentaire, pas un remplacement des règles de la couche de base.
Dans Lightning, les parties mettent à jour leurs soldes hors de la blockchain, ou off-chain, sans inscrire chaque paiement dans un bloc Bitcoin. Les chiffres souvent cités de millions de paiements par seconde sont des estimations du potentiel de mise à l’échelle, pas une capacité fixe démontrée pour l’ensemble du réseau. De même, « au maximum sept » transactions Bitcoin par seconde n’est pas une constante universelle : la capacité dépend notamment de la taille des transactions. Pour Lightning, la liquidité des canaux et les itinéraires de paiement disponibles comptent également.
Les blocs Bitcoin disposent d’un espace limité. Les transactions non confirmées peuvent attendre dans les mempools des nœuds, les mineurs les sélectionnant généralement selon les frais plutôt que dans un ordre d’arrivée garanti. L’objectif moyen est un bloc toutes les dix minutes, mais les intervalles réels varient. Une transaction à faibles frais peut attendre des heures ou des jours en période de congestion alors que de nouveaux blocs continuent d’être produits. Cela complique les paiements quotidiens rapides.
Lightning utilise des canaux de paiement entre deux parties, et les paiements peuvent traverser plusieurs canaux reliés. Une transaction de financement ouvre le canal sur Bitcoin ; chaque paiement ultérieur n’ouvre pas un nouveau canal. Les parties échangent des mises à jour signées des soldes sans publier chaque modification sur la blockchain. Elles maintiennent l’état actuel dont le règlement peut être imposé, pas un registre public de tous les paiements. À la fermeture, une transaction de règlement est confirmée sur Bitcoin. La fermeture peut être coopérative ou unilatérale ; dans ce dernier cas, des délais et des transactions supplémentaires peuvent être nécessaires.
Dans le modèle de base, le financement et la fermeture du canal sont inscrits sur la blockchain, tandis que les mises à jour ordinaires restent hors chaîne. Une fermeture forcée ou un litige peut toutefois demander d’autres transactions : « uniquement l’ouverture et la fermeture » est donc trop absolu. Lightning continuait d’évoluer. Des paiements plus rapides et des frais souvent réduits peuvent soutenir l’usage des cryptomonnaies, sans garantir leur adoption massive.












