Lightning Network

⚡️
← Todos los conceptos

Seguro que en alguna ocasión has escuchado algo sobre la Lightning Network de Bitcoin. Hoy os vamos a explicar en qué consiste y qué usos se le está dando.

Lightning Network (abreviado, LN) es una solución Layer 2, que sirve como protocolo de pago sobre la red de Bitcoin (y sobre otras blockchains y crypto) y permite hacer pagos off-chain, es decir, pagos entre entidades que no están en la red Bitcoin. Su intención principal es permitir transacciones rápidas entre los nodos que participan en la red y ha sido propuesta (y se está utilizando) como solución al problema de escalabilidad que tiene bitcoin. Su característica principal y más interesante es que facilita un sistema peer-to-peer para hacer micropagos con fees muy bajas. Veamos cómo funciona:

LN permite crear un canal de pago entre dos entidades, como un cliente y un bar. Una vez se establece el canal, este les permite enviar una cantidad ilimitada de transacciones de manera casi instantánea y económica. Para poder crear uno de estos canales, se ha de depositar una determinada cantidad de bitcoin en la red. Una vez lo estén, el receptor puede empezar a recibir pagos. Si se quiere mantener abierto el canal, se ha de aportar Bitcoin de manera consistente.

El canal que se crea es bidireccional, y ambos participantes pueden enviarse fondos entre ellos de manera indefinida sin “comunicarlo” a la blockchain principal. Esto se debe a que todas las transacciones en la blockchain no tienen por qué ser comunicadas a todos los nodos, lo que permite reducir el tiempo de procesamiento. Los nodos de LN son capaces de routear las transacciones combinando los distintos canales de pago que involucren a los miembros participantes. Por tanto, la Lightning Network es el resultado de muchos canales de pago actuando juntos.

Finalmente, cuando ambos terminan de operar, pueden cerrar el canal, y entonces toda la información del canal se consolida en una única transacción que se transmite a la red principal, la mainnet de Bitcoin, para que se registre. Esa “consolidación” asegura que docenas de transacciones más pequeñas se agrupen en una única transacción que lleva menos tiempo validar y consume menos recursos y fees. Sin esos canales de pago, las múltiples microtransacciones congestionarían la red, causando que los nodos necesiten más recursos para validarlos.

Un ejemplo es el siguiente, supongamos que un típico crypto bro quiere ir a Starbucks a tomarse un café de $5. Si quiere hacer uso de BTC para hacer el pago, muy probablemente hará una transacción de $5 en BTC, la cual tardará de media 10 minutos en confirmarse (realmente suele ser más) y para la cual probablemente pague una comisión más alta que el valor a transferir. Dado las bajas TPS (transacciones por segundo) de BTC (3-7 TPS) esto se hace inviable, sobretodo considerando que Visa, por ejemplo, tiene infraestructura para procesar unas 1.700 TPS.

Con el uso de LN, se abre un canal entre ambos. Cada compra de café se registra en el canal, y Starbucks recibe los fondos casi sin coste e inmediatamente. Luego, cuando se consume el Bitcoin depositado para abrir el canal, se puede cerrar o volver a depositar mas BTC para mantenerlo abierto. En cualquier caso, cuando se cierre, las transacciones se convertirán en una transacción en la mainnet de Bitcoin.

Además, la red LN crea un smart contract entre los dos participantes, que automáticamente se ejecuta en cuanto se paga la cantidad adecuada para, por ejemplo, el café de Starbucks. La LN también anonimiza las transacciones realizadas en todo el canal una vez son validadas. Todo lo que se puede ver es el valor total transferido, pero no los pagos individuales que contiene.

Beneficios

  • Privacidad: permite a los participantes transferir fondos sin tener que hacer públicas todas las transacciones en la blockchain original. En particular, los detalles de esas transacciones individuales que se hacen sobre LN no se registran públicamente.
  • Velocidad: el tiempo de confirmación del pago para las transacciones LN es inferior al minuto, y en algunos casos, se completan en milésimas de segundo.
  • Rendimiento: teóricamente, no habría límites para el número de transacciones por segundo que puede gestionar la red. Estas sólo se verían limitadas por la capacidad y velocidad de cada nodo.
  • Granularidad: según las implementaciones de LN con las que se trate, sería posible trabajar con unidades inferiores al satoshi, como el milisatoshi ($10^{-3}$ satoshis, o 0,00000000001 Bitcoin)

Incovenientes

Para poder usar LN hay que tener una wallet que sea compatible con la red (lo que es sencillo) pero hay que fondearla desde una billetera tradicional de Bitcoin, que puede ser costoso. Además, para poder abrir el canal habrá que bloquear una determinada cantidad de Bitcoin. A pesar de ello, existen algunas wallets que permiten gestionar pagos on y off-chain sin pagar fees.

Además, si uno de los participantes del canal decide retirar sus fondos, se tiene que cerrar el canal y recuperar el Bitcoin inicial antes de poder usarlos. Por ejemplo, no es posible sacar un poco de dinero y mientras mantener el canal abierto.

Uno de los mayores problemas son las estafas de transacciones offline. Si uno de los miembros del canal decide cerrarlo mientras el otro miembro está offline, entonces el primero puede quedarse con los fondos. Y para cuando el otro miembro se vuelve a conectar ya es demasiado tarde.

Para solucionar esto, se ha creado el concepto de torre vigía (watchtower), un servicio de nodos especializados que permite mantener vigilado el canal en caso de que uno de los miembros se ponga offline. Si la watchtower detecta actividad maliciosa, como que el otro miembro intente cerrar el canal estando uno offline, entonces automáticamente congela los fondos y los devuelve al miembro offline. Aun más, también penalizará al miembro malicioso retirando sus fondos del canal.

Obviamente, la LN no es infalible y también tiene fallos, como los pagos atascados, que son transacciones salientes que no son verificadas. Aunque es verdad que la red Bitcoin siempre reembolsa las transacciones atascadas, este proceso puede durar varios días pues las transacciones atascadas no toman prioridad a la hora de la validación.

Veremos cómo evoluciona Lightning Network en un futuro y la cabida que tiene en este interesante mundillo (sobretodo el aspecto de transacciones anónimas con la regulación que se cierne sobre nosotros). A día de hoy, hay depositados unos 4.000 BTC en Lightning Network, aprox. $100M. Esto ha sido posible gracias a eventos como la adopción de BTC en El Salvador al tratarse de moneda de curso legal. Allí la wallet que fue introducida por el gobierno salvadoreño utiliza LN para poder hacer micropagos instantáneos sin coste, aunque también permiten a los ciudadanos que elijan otras que también tengan soporte para LN.