-
Un hipotético ataque incapacitaría un canal más allá de su capacidad de enrutamiento.
-
“Circuit breaker” permitiría personalizar límites de HTLC para cada canal.
Una nueva propuesta busca frenar potenciales ataques de “inundación” de los canales en la red Lightning de Bitcoin. En particular, se trata de “circuit breaker” o cortador de circuitos, un mecanismo de defensa ante una vulnerabilidad que permitiría aprovechar los Contratos Bloquedos por Hash y por Tiempo (HTLC).
La propuesta fue anunciada por el desarrollador enfocado en Lightning, Joost Jager, vía Twitter. En un hilo publicado en la red social, Jager explicó que la red de canales de pago es vulnerable a ataques de inundación a través del envío de múltiples micropagos. Con este mecanismo se podría inhabilitar un canal “hasta por dos semanas”, expuso.
Por ello, creó “circuit breaker” como un cortafuegos que “permite que los nodos se protejan a sí mismos de ser inundados con HTLC”. El mecanismo propuesto por Jager permite establecer límites en el número de HTLC a recibir por par, incluso de forma personalizada, dependiendo de los canales involucrados. Él propone establecer límites mayores para pares de confianza y un límite más corto para canales o nodos desconocidos.
Los HTLC, o Contratos Bloquedos por Hash y por Tiempo, se usan para el funcionamiento en red de los canales de Lightning de Bitcoin. Estos contratos determinan la validez de un pago y la comunicación entre nodos de la red, mediante comprobantes de pago firmados con criptografía y limitados a un tiempo previamente especificado en bloques de la cadena de Bitcoin.
Implementando límites de HTLC en canales Lightning de Bitcoin
Jager, quien hasta hace unos días fuera desarrollador en la startup Lightning Labs, expone en Github que cada canal tiene un número limitado de ranuras HTLC: 483. “Esto significa que, independientemente de la capacidad del canal, nunca puede haber más de 483 HTLC pendientes”.
Por ello, múltiples pagos pequeños podrían bloquear la actividad de un canal sin importar cuántos de los fondos totales estén en juego en ese momento. Esto afectaría incluso a canales más grandes que tengan ya implementado Wumbo, la nueva característica que rompió el límite de 0,1677 BTC de capacidad por canal. Ahora, se pueden abrir canales de hasta 10 BTC.
“Con canales grandes en particular, puede suceder que todas las ranuras estén ocupadas mientras se usa solo una fracción de la capacidad del canal. En ese caso, se considera que todo el canal está bloqueado. La duración del bloqueo puede variar desde unos pocos segundos hasta 2 semanas o incluso más”
Joost Jager, desarrollador enfocado en Lightning de Bitcoin
En el caso de Jager, el desarrollador probó la vulnerabilidad bloqueando 0,058 BTC “con un pago reembolsable de 18 satoshis (0,00000018 BTC) que se repite cinco veces a través de tres canales”. Según él, este bloqueo podría durar todo el tiempo que él desee.
En palabras de Jager, su nuevo mecanismo “defiende la valiosa liquidez del canal y ayuda a mantener las monedas bloqueadas en funcionamiento para maximizar los ingresos por enrutamiento”.
En este caso expuesto por Jager, “circuit breaker” hubiera actuado como freno para el ataque. En caso de haber sido establecido, por ejemplo, un límite de apenas un HTLC para ese nodo en particular, se habría imposibilitado la inundación. En consecuencia, no se habrían bloqueado los fondos ni el canal.
El desarrollador advierte que el “circuit breaker” está apenas en fase alfa de su desarrollo y debe usarse “bajo su propio riesgo”, aunque ya se puede conectar con el cliente lnd de la Lightning Network de Bitcoin.
Inundación de canales, amenaza constante en Lightning de Bitcoin
La vulnerabilidad que expone los canales de la red Lightning a ataques de congestión o inundación ha sido explorada ya de forma sostenida. En marzo de este año reportamos en CriptoNoticias los hallazgos de los investigadores Aviv Zohar y Ayelet Mizrahi en la Universidad de Jerusalén.
Según esa investigación, denominada “Ataque de congestión en redes de pago”, un hipotético atacante podría incluso detener el funcionamiento de redes de canales de pago como Lightning de Bitcoin o Raiden, a un costo bajo.
En junio, reseñamos que una segunda investigación del propio Zohar junto a Jona Harris determinó otro escenario posible con el mismo mecanismo de inundación. Con muchos HTLC sin resolver, un atacante pondría en riesgo altas cantidades de BTC si se ejecutara un ataque conjunto a múltiples canales.
Antes de la propuesta de Jager, desarrolladores enfocados en Lightning habían lanzado una propuesta que se ha estado explorando desde hace un tiempo para solventar la amenaza.
En julio de este año, Alex Bosworth envió en su lista de correo la actualización de los “canales ancla”, que buscan contrarrestar los ataques de inundación permitiendo ajustar las comisiones de las transacciones para confirmar los HTLC a la hora de cerrar canales. La idea es garantizar que los HTLC se resuelvan a tiempo en la cadena principal de Bitcoin. Sin esto, un posible atacante podría quedarse con los fondos comprometidos en esa transacción.