Le Lightning Network est-il à risque pour l’argent ? Cet article explique ses principes et ses méthodes de traitement

D’origine | Odaily Planet Quotidien

Auteur | Nan Feng

! [Le Lightning Network est-il à risque pour les fonds ?] Un article explique ses principes et ses méthodes de traitement] (https://piccdn.0daily.com/202310/21153903/6kk6vnwj6zp8nyzo.png!webp)

Préambule

Le 20 octobre, le développeur principal de Bitcoin Core, /dev/fd0, a annoncé sur la plate-forme X qu’il cesserait de participer au développement du Lightning Network et à sa mise en œuvre, y compris la coordination de la gestion des problèmes de sécurité au niveau du protocole.

/dev/fd0 signifie que chaque nœud Bitcoin possède son propre pool de mémoire. Les transactions sont transmises par des pairs. Si les nœuds du réseau Lightning sont utilisés pour ouvrir des canaux et accepter le transfert HTLC, ils sont vulnérables aux attaques cycliques de remplacement.

Ce que le développeur appelle une « attaque par boucle alternative » et comment elle peut être mise en œuvre sera révélé dans cet article.

Réseau Lightning

Le réseau Bitcoin a un TPS d’environ 7 seulement et des frais élevés, et le Lightning Network a été créé pour répondre aux besoins des micropaiements.

Le Lightning Network est une solution de mise à l’échelle de couche 2 pour Bitcoin et d’autres crypto-monnaies conçue pour répondre à l’évolutivité et à la vitesse de transaction des réseaux de crypto-monnaies.

Le principe de mise en œuvre peut être simplifié comme suit :

  1. Les parties A et B établissent un « canal de transaction » (en fait un portefeuille multisig)
  2. A et B rechargent respectivement A1 et B1 (cette étape est sur la chaîne)
  3. A et B ont une transaction hors chaîne, et A a un transfert net de X (par exemple, A transfère 1 yuan à B 100 fois, B transfère 99 fois à A pour 1 yuan, et enfin A a une sortie nette de 1 yuan)
  4. Mettre à jour les transactions A1-X et B1+X sur la chaîne

Grâce au processus ci-dessus, quel que soit le nombre de transactions A et B effectuées hors chaîne, ils n’ont besoin de payer que deux frais on-chain et de gagner beaucoup de temps.

Contrat de verrouillage du temps de hachage (HTLC)

Le formulaire décrit ci-dessus est limité à un canal de transaction direct entre A et B, et des nœuds de relais apparaissent pour les paiements cross-canal, des nœuds de relais transitent les transactions entre les deux afin d’effectuer des paiements entre les canaux, et les nœuds de relais peuvent collecter des pourboires.

Mais cela se heurte à un problème : Il faut s’assurer que chaque participant de chaque canal est honnête et digne de confiance, et qu’il est sûr grâce à des liens multicanaux.

D’où l’émergence du HTLC (Hash Time-Lock Contract), une transaction de paiement avec HTLC peut être simplifiée comme suit :

  1. A prépare un secret R et calcule sa valeur de hachage H
  2. A fixe une limite de temps T
  3. A envoie une transaction de paiement avec HTLC à B, et la transaction ne sera finalisée que si les deux conditions suivantes sont remplies
  • B répond au code R (vérifié par H)
  • B répond à l’intérieur de T (par exemple, réponse à moins de 10 blocs)
  1. Si B ne connaît pas le code, ou si la réponse est expiration, les fonds sont retournés à A

Processus de transaction normal

Avec le HTLC décrit ci-dessus, un paiement impliquant un nœud relais est le suivant :

  1. Le destinataire final C fournit le code à l’expéditeur A
  2. A initie le paiement HTLC avec le hachage H (notez que Les fonds ne sont pas entre les mains de B pour le moment)
  3. B reçoit les informations de paiement et initie un paiement HTLC à C avec la valeur de hachage H
  4. C Pour recevoir des fonds, répondez au code, recevez des fonds. B connaît également le code à ce moment-là
  5. B utilise le code pour obtenir le paiement initié par A, reçoit les fonds et la transaction est terminée

! [Le Lightning Network est-il à risque pour les fonds ?] Expliquer son principe et sa méthode de traitement] (https://piccdn.0daily.com/202310/21153901/f5wdnvckblw5uctb.png!webp)

Le processus impliquant les trois est le même que ci-dessus, et plusieurs autres nœuds de relais peuvent être ajoutés au milieu, tandis que le mode de paiement reste inchangé, envoyant le paiement au destinataire final via la chaîne, puis rétropropageant le code au nœud de relais initial pour finalement terminer la transaction.

Si le noeud relais ne reçoit pas le code R ** (la maison suivante ne répond pas, la limite de temps est jugée par le noeud relais lui-même)**, le noeud relais peut choisir de fermer le canal, ** si la chaîne réussit, ** le paiement initié par B sera « invalidé » et il n’y aura pas de perte de fonds. **

Attaques alternatives cycliques

Pour en revenir au principe de base du HTLC, en plus de répondre au code, le nœud relais doit répondre à une autre condition « le nœud relais répond dans T », et l’attaquant malveillant cible ce point pour attaquer :

  1. A et C sont de connivence malveillante, et la victime est le nœud relais B (B demande à répondre dans les 3 blocs)
  2. A initie un paiement à B (en supposant que la hauteur du bloc est de 1000 à ce moment-là) et demande une réponse avant le bloc 1020
  3. B initie un paiement à C (hauteur du bloc 1005)
  4. Lorsque la hauteur du bloc est de 1008, B voit que C ne répond pas et décide de fermer le canal, ce qui prendra effet au bloc 1009
  5. C initie une transaction avec un gaz élevé (1) (bloc 1008), ce qui rend impossible l’entrée d’une transaction initiée par B dans le mempool
  6. C initie une transaction avec un gaz élevé (2) (bloc 1009), et B ne peut toujours pas entrer dans le mempool
  7. C fonctionne dans une boucle infinie jusqu’au bloc 1020, donne le signe secret R et retire des fonds

B n’a pas le temps de répondre au paiement initié par A, les fonds sont retournés à A, et le paiement à C est établi, et enfin l'« attaque de substitution circulaire » est mise en œuvre. En outre, A et C peuvent également réaliser une double dépense en s’entendant pour attaquer en boucle la transaction de clôture de B.

En conclusion

Bien que les vecteurs d’attaque ci-dessus existent, cela ne signifie pas que les attaquants peuvent faire ce qu’ils veulent et voler des fonds dans le Lightning Network, et l’auteur propose également cinq façons d’y faire face, telles que la surveillance du trafic des mempools locaux et des relais de transactions, la surveillance des mempools de mineurs, etc.

L’avenir est radieux, la route est tortueuse, et cette année, une série de nouvelles choses telles que Ordinals, BRC-20, Taproot Asset et ainsi de suite sont nées sur le réseau Bitcoin.

Références

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)