-
La versión 0.15.2 corrige el error y las personas deben actualizar su nodo para volver a operar.
-
Los servicios y personas que utilizan LND estuvieron inhabilitadas para usar la red Lightning.
La primera falla importante en la red Lightning de Bitcoin sorprendió a usuarios y desarrolladores. Durante la tarde de ayer, 9 de octubre, un error en el cliente (software) LND provocó la suspensión de los servicios que funcionan con este software. Los programadores de LND corrigieron el error en pocas horas, pero las personas y compañías afectadas deben actualizar a la versión 0.15.2 de LND para volver a tener su nodo en línea.
Las dificultades generadas por el error de LND (uno de los softwares para implementar nodos en la red Lightning más utilizados) incluyen la imposibilidad de crear canales de pago y enviar transacciones hasta actualizar a la nueva versión.
LND es uno de los softwares más antiguos para la red Lightning. Varios servicios de pago, como BTCPay y Breez utilizan esta implementación para correr nodos. Muchos de los nodos que enrutan más canales de pago y los que tienen mayor capacidad incluyen en su nombre el acrónimo «lnd».
Sin embargo, LND es solo uno de varios clientes que permiten sincronizar la red principal de Bitcoin con la red de micropagos Lightning. Servicios de pago que utilizan el cliente Core Lightning no se vieron afectados. Otros nodos, como el de ACINQ (que enruta pagos para la wallet Eclair y otros servicios), tampoco dejaron de funcionar.
El programador Olaoluwa Osuntokun, jefe de tecnología de Lightning Labs, divulgó la versión de LND que corrige el error. «Esta es una versión de revisión que solo contiene la corrección de errores aplicada sobre v0.15.1», se lee en uno de sus tuits.
Una operación muy grande
De acuerdo con varios programadores, como Jameson Lopp y Nicolas Dorier, el error surgió cuando un usuario creó una transacción multifirma de gran tamaño en la red principal (que básicamente requería 998 firmas de 999 posibles).
LND poseía un parámetro para identificar límites en los tamaños de los datos validadores en un bloque de transacciones que utilizaran Testigo Segregado o Segwit, por ejemplo, las multifirmas que se hacen con Taproot.
Por error, la biblioteca de análisis que utilizaba LND tenía un valor máximo para el tamaño de los datos del testigo (o de los datos que se utilizan para validar una transacción de este tipo). La operación multifirma excedía ese límite y LND tuvo una lectura equivocada del bloque. Por consiguiente, todas las demás lecturas de los siguientes bloques de transacciones fueron erróneas.
El problema, según Osuntokun, estaba en la biblioteca de análisis de btcd (un software para correr nodos de Bitcoin).
LND usa esta biblioteca para analizar bloques que obtenemos del backend de un nodo completo o de la red P2P. Debido a este error lnd no pudo analizar un nuevo bloque, pero pudo continuar reenviado nuevamente.
Olaoluwa Osuntokun, jefe de tecnología de Lightning Labs.
Elizabeth Stark, CEO y fundadora de Lightning Labs, escribió en un tuit: «los nodos afectados continuaron enrutando los pagos y descargando bloques aparte del que rompió las cosas, por lo que la sincronización con la cadena fue falsa».
Impresiones en redes sociales por el error de LND
El servicio de enrutamiento de pagos en Lightning Zero Fee Routing comunicó que el volumen de reenvío de pagos de su nodo se redujo 50% después de que ocurrió el error.
Breez, una plataforma para pagos en la red Lightning, informó que no podían abrir nuevos canales y que la recepción y envío de pagos estaba paralizada desde que ocurrió el error.
BTCPay Server, por su parte, indicó que había actualizado a la versión de LND que corregía el error. Se espera que en poco tiempo todos los servicios hayan actualizado su versión de LND.
James Lopp dijo en un tuit: «puede ser la primera gran interrupción de la red Lightning. Estoy francamente sorprendido de que haya tardado tanto. Prueba de una buena ingeniería».