C’est de nouveau le moment. Le bitcoiner « Burak » a de nouveau mis hors service une partie du réseau Lightning. Huh, c’est une vieille nouvelle, vous pourriez penser. Non ! C’est la deuxième fois en moins d’un mois qu’il réussit à le faire.
Partir de la foudre
Cette fois, il s’agissait d’un problème similaire à celui du 10 octobre, mais juste un peu plus insidieux. Au bloc 761,248, lnd s’est soudainement arrêté. Il s’agit de l’implémentation lightning de Lightning Labs utilisée par de nombreux nœuds.
Ce bloc contenait une transaction inhabituelle. Il s’agissait une fois de plus de Burak qui jouait avec les paramètres bínnen bitcoin, mais qui n’étaient pas correctement détectés par bitcoind (qui utilise lnd comme sous-couche).
Sometimes to find the light, we must first touch the darkness.https://t.co/dhCwF0DxpE
— Burak (@brqgoo) November 1, 2022
La particularité : la transaction comportait un message dans l’OP_RETURN, faisant référence à Core Lightning – le concurrent de lnd : « vous allez exécuter cln. et vous serez heureux ». Burak a également partagé la solution directement sur GitHub :
– La modification du paramètre maxWitnessItemsPerInput de 500 000 à 4 000 000 résout le problème.
Ce qui a causé le problème dans lnd est plutôt technique. En bitcoin, il existe une règle consensuelle selon laquelle la limite des « éléments de la pile » est de 1 000 au maximum. Dans un paiement Pay-to-Taproot, il a pu dépasser cette règle avec 500 001 « pousses » vides. Cela a créé un conflit entre btcd et Bitcoin Core.
Sur la mainchain, le paiement a bien fonctionné, mais ce même paiement a provoqué l’abandon des lnd-nodes.
Solutions
Le problème a été corrigé immédiatement et les services de nœuds tels que Umbrel, MyNode et Razpiblitz ont tous rapidement sorti des mises à jour permettant aux utilisateurs de passer à LND v0.15.4-beta. Si vous utilisez un nœud LND, c’est une bonne idée de prendre un moment pour être actif avec ceci !
Incidemment, le problème était déjà connu de Lightning Labs, car Anthony Towns l’a soulevé il y a quinze jours.
Burak a également trouvé ce problème mais a cependant saisi l’opportunité de l’exploiter en effectuant la transaction sur le mainnet. Il aurait pu aborder ce problème d’une autre manière (avec un paiement sur le testnet ou une divulgation de la vulnérabilité).
En conséquence, les actions de Burak ont également été critiquées. Est-ce vraiment éthique ?
https://twitter.com/r32a_/status/1587409132973334532
Sur Bitcoin Focus, il y a quinze jours, vous pouviez déjà lire un article détaillé sur le premier numéro ! Dans l’édition #110, vous avez lu : Un court-circuit sur la foudre met une partie du réseau hors service.