Coup de tonnerre sur Bitcoin : une faille dans le code du Lightning Network inquiète

Collectionnez les articles du JDC en NFT

Collecter cet article

Coup dur pour le Lightning Network – Le Lightning Network (LN) est une solution de seconde couche de Bitcoin. Celle-ci est spécialisée dans les micro paiements via l’usage de « state channels ». Malheureusement, une vulnérabilité pourrait bien ébranler la sécurité du réseau.

Vulnérabilité sur le Lightning Network

Le 16 octobre dernier, Antoine Riard, développeur Bitcoin a identifié une vulnérabilité critique sur le Lightning Network sur Bitcoin. Celui-ci a décrit la faille ainsi que des pistes pour la résoudre dans un rapport publié sur GitHub.

Rapport publié par Antoine Riard.
Rapport de faille publié par Antoine Riard.

Antoine Riard a par la suite décidé de quitter l’équipe de développement du Lightning Network tant la faille est importante. En effet, celui-ci estime que seule une modification du protocole Bitcoin permettrait de mettre en place une solution durable à cette faille. Néanmoins, ce dernier sait comme il est difficile de faire évoluer Bitcoin.

Antoine Riard prends ses distances avec Lightning Network.
Note d’Antoine Riard aux développeurs de Bitcoin.

« Dès à présent, je cesse de participer au développement du réseau Lightning et à sa mise en œuvre, y compris à la coordination du traitement des questions de sécurité au niveau du protocole. »

>> Euro > Crypto au meilleur prix en 1 clic ! (lien commercial) <<

Replacement Cycling : la faille qui fait trembler le LN

En pratique, l’attaque cible une faille dans le mécanisme de remplacement des transactions

Pour rappel, il est possible de remplacer une transaction sur Bitcoin et le Lightning Network. Cela peut habituellement survenir dans plusieurs cas, par exemple, pour augmenter les frais d’une transaction, ou bien remplacer une transaction dans laquelle il y a une erreur.

De son côté, cette faille exploite la possibilité de remplacer une transaction non confirmée dans la mempool par une transaction qui dépense les mêmes entrées.

Pour ce faire, l’attaquant doit ouvrir deux canaux de paiements avec sa victime. Il envoie un paiement à travers ces canaux, créant un contrat HTLC (Hashed Timelocked Contracts).

En temps normal, si un HTLC n’est pas réglé à temps, la victime peut diffuser une transaction « htlc-timeout» pour récupérer ses fonds.

C’est là que l’attaquant peut exploiter le remplacement de transaction. Il utilise cette fonction pour remplacer continuellement la transaction de la victime par la sienne, empêchant ainsi la transaction de la victime d’être confirmée.

Si l’attaquant réussit à faire cela suffisamment longtemps, il peut annuler le htlc-timeout, et la victime perd l’argent du paiement.

Correctif et solutions

L’idée proposée par Antoine Riard est de réimaginer le protocole HTLC. Son objectif étant d’empêcher l’ajout d’entrées supplémentaires au HTLC de sorte qu’elles ne puissent pas être remplacées.

Toutefois, cela nécessite un soft fork pour être mis en place. Une situation peu probable au vu de l’ossification de Bitcoin.

Sinon il a proposé d’autres solutions potentiellement moins fiables sur le long terme : 

  • Augmentation du délai de verrouillage : pour rendre l’attaque plus difficile et coûteuse à réaliser ; 
  • Surveillance de la mempool : les utilisateurs peuvent surveiller la mempool pour repérer la transaction htlc-timeout avant qu’elle ne soit remplacée ; 
  • Utilisation de watchtowers : une version plus centralisée de la surveillance de la mempool ; 
  • Modification des politiques de relais : afin de propager les transactions remplacées afin que celle-ci atteigne toujours la victime.

Quoi qu’il en soit, ce problème n’est plus du ressort d’Antoine Riard. Ce sera désormais aux développeurs du Lighting Network ou ceux de Bitcoin de trouver une solution.

Et si le Lightning Network était bientôt obsolète ? C’est le pari de nombreuses équipes développant des solutions de zk rollups sur Bitcoin. C’est notamment le cas de ChainWay qui a déjà mis au point un proof of concept.

Les cryptos et la technologie blockchain sont des secteurs encore jeunes et volatiles. Tout investissement comporte un risque. En investisseur averti, vous avez fait vos propres recherches, et décidé de franchir le pas ? Les prix actuels sont l’occasion d’ajouter quelques satoshis dans votre wallet ! Pour ce faire, inscrivez-vous sur Swissborg  Euro > Crypto au meilleur prix en 1 clic (lien commercial).

Renaud H.

Ingénieur en software et en systèmes distribués de formation, passionné de cryptos depuis 2013. Touche à tout, entre mining et développement, je cherche toujours à en apprendre plus sur l’univers des cryptomonnaies et à partager le fruit de mes recherches à travers mes articles.

Recevez un condensé d'information chaque jour