¿Qué es Lightning Network?
Esta es una pregunta que se han hecho muchos usuarios que no saben mucho sobre el mundo de las cripto. Y es que Lightning Network, es una red descentralizada para micropagos instantáneos y de alto volumen de transacciones. Lo cual elimina el riesgo de delegar la custodia de fondos a terceros de confianza.
Las redes blockchain actuales permiten a cualquier persona enviar valor sin requerir de un intermediario o depositario de confianza. Sin embargo, las limitaciones intrínsecas de estas redes hacen la transmisión y validación de estas transacciones sea lenta y costosa. Por ejemplo, bitcoin, la criptomoneda más utilizada y valiosa del mundo, agrega transacciones a bloques espaciados cada diez minutos, aproximadamente. Dependiendo del estado de la red, los pagos se consideran como seguros seis bloques lo confirman, en un lapso de tiempo aproximado de una hora.
En la medida en que se popularizan las redes blockchain, el número de transacciones crece exponencialmente. Esto que provoca que se acumulen miles de transacciones en espera a que las agreguen a los bloques de la cadena. Con esta saturación, llegan las altas comisiones de red; que son los pagos que efectúan los usuarios a los mineros para que incluyan sus transacciones en el próximo bloque. A mayor comisión, más rápido incluyen la transacción en el siguiente bloque.
Estos problemas de escalabilidad de las redes blockchain y las altas comisiones que ellos generan. Hacen inviables las transacciones por unos pocos centavos de dólar, o micropagos, debido a que las comisiones de red superan con creces el monto de estos.
Lightning Network resuelve estos problemas. En la red Lightning, los pagos no necesitan confirmaciones de bloque y son instantáneos y atómicos. La atomicidad implica que los pagos se realizarán o no: no es posible que queden a medias en caso de algún fallo. Además, permite enviar fondos tan pequeños como 1 satoshi, o 0,00000001 BTC, sin riesgo de custodia y comisiones inmateriales. Las transacciones de la red Lightning se llevan a cabo fuera de la blockchain en principio, sin delegación de confianza ni propiedad, lo que permite a los usuarios realizar transacciones casi ilimitadas entre ellos.
La solución a la problemática
Joseph Poon y Thaddeus Dryja, desarrolladores de Lightning Labs, establecieron los detalles técnicos de su idea. Plantearon la posibilidad de crear un sistema de pagos. En este las transacciones se realizan de forma atómica y sin necesidad de que las mismas se confirmen dentro de los bloques de la cadena. El hecho de que los pagos se hagan de forma atómica asegura que los fondos sean realmente transferidos entre los miembros.
¿Cómo podemos hacer transacciones sin pasar por una cadena de bloques? Abriendo algo denominado “Canal de Pago”. Este Canal hace referencia a un sistema mediante el cual dos usuarios mantienen transacciones con los fondos confirmados dentro de una Dirección multifirma, una billetera a la que los 2 usuarios usuarios pueden acceder con las claves privadas de cada quien. La transferencia que se realiza hacia la Dirección multifirma se denomina “Transacción de Apertura” y la misma si se registra en la cadena de bloques.
Las transacciones dentro del Canal de Pago, denominadas Transacciones de Compromiso, no se registran en el momento dentro de la cadena Blockchain, sino que solo se mantienen entre el Canal que tienen abierto las partes.
El Canal de Pago se mantendrá abierto el tiempo que las partes desee y se podrán realizar todas las transacciones que se quieran en ese tiempo. Estas operaciones son en realidad una redistribución de los fondos que se mantienen en la Dirección Multifirma que mantienen entre ambos.
Una vez que el Canal de Pago se cierre, se escribirá el estado final de las transacciones dentro de la red Blockchain. Inscribir una sola transacción en lugar de muchas ayuda a bajar el tráfico de la red y el consecuente pago excesivo de comisiones.
Ahora, si alguna de las partes desea sacar criptomonedas dentro del Canal de Pagos que mantienen entre ambos, es necesario que se haga un acuerdo entre ambos para determinar los fondos que efectivamente quedarán luego del retiro. Debemos recordar que igual los fondos están en una Dirección multifirma que requiere las firmas de las 2 partes para que se liberen.
Canales de pago
Un canal de pago es un medio de transacción fuera de la cadena de bloques. En el, dos personas comprometen fondos en una dirección y se pagan entre ellas. Emitiendo compromisos de pagos firmados por las partes, evitando tener que esperar por confirmaciones de la blockchain subyacente.
Las partes abren un canal de pago entre ellas enviando fondos en una transacción inicial (Transacción de fondeo) a una dirección multifirma 2 de 2. La cual es manejada por ambos involucrados y requiere las firmas de los dos para generar nuevas transacciones. Esta primera transacción es entonces propagada a la blockchain, quedando el canal efectivamente abierto. Para pagarse, las partes crean transacciones (Transacción de compromiso) desde la dirección multifirma, que no son difundidas en la red aún, y cuyos saldos consensuados, resultantes de operaciones fuera de red, son redimibles por las partes con o sin el permiso del otro y, de hacerlo, provoca el cierre del canal y la difusión de la transacción en la red blockchain.
Abierto el canal de pago, las partes pueden realizar transacciones entre ellos en cualquier momento a través del mismo (fuera de cadena). El canal puede permanecer abierto por cualquier cantidad de horas, días, semanas o décadas. La única vez que se vuelve a tocar la blockchain es cuando se cierra el canal, momento en el cual se registra el saldo final de las transacciones que ocurrieron a través del canal en la cadena de bloques.
Te puede interesar: Los Bancos consideran el Metaverso como el futuro para las criptomonedas encontrar su lugar
Cada vez que las partes requieren gastar fondos del canal, ambas deben acordar el nuevo saldo del mismo a través de las transacciones de compromiso. Las partes intercambian transacciones medio firmadas (firmadas solo por emisor) con el nuevo saldo del canal, de manera que cualquiera de las partes pueda, si así lo desea, completar la firma requerida para ser válida frente a la dirección multifirma 2 de 2, propagarla en la blockchain (cerrar el canal) y redimir los saldos correspondientes a cada parte.
El problema con este esquema es que todas las transacciones de compromiso (saldos) anteriores a la actual están disponibles para cada una de las partes, y cualquiera de estas transacciones, por ejemplo, aquella con saldo más favorable a una de las partes, podría ser firmada por esta y propagada en la red, cerrando el canal y quedándose con el dinero. Es decir, el contrato entre las partes está basado en la buena fe de los involucrados y como tal susceptible de ser violado.
Como medida de seguridad, existe la posibilidad de hacer las transacciones revocables. De esta forma, quien cierra el canal, de manera unilateral y no colaborativa, deberá esperar hasta 3 días (o 432 bloques en Bitcoin) para poder retirar sus fondos de la cartera multifirma. Durante este tiempo, la contraparte puede «apelar» el estado propagado en la blockchain y revocar los fondos del canal, si puede generar una prueba de violación o incumplimiento de parte del otro involucrado.
Dadas las costosas comisiones y largos tiempos de liquidación en las redes blockchain, está en el mejor interés de cada participante mantener el canal abierto; además, si el canal es cerrado de manera arbitraria por alguna de las partes, violando el saldo acordado, ésta puede ser penalizada con la pérdida total de los fondos comprometidos, por lo que comportarse honestamente también es el mejor camino para ambos.
Carteras de Lightning Network
Para transar en Lightning Network es necesario utilizar una cartera que permita realizar los contratos de incumplimiento y de tiempo descritos anteriormente.
Por el momento es posible utilizar la cartera Zap, desarrollada por Jack Mallers, tanto en la red de prueba como la principal de Bitcoin, si se realizan modificaciones manuales. También están disponibles las carteras Eclair, creada por el grupo de desarrollo ACINQ, y Lightning Desktop App de Lightning Labs, ambas en versión alpha (experimental).
Una cartera en línea más sencilla y restringida puede encontrarse en HTLC.me, dónde además recibirás bitcoins de prueba (tBTC) con la creación de un monedero Lightning.
Actualmente, la Lightning Network se encuentra en fase de prueba en la Testnet de Bitcoin, aún así, los usuarios se encuentran probándola en la red principal (Mainnet), aun a riesgo de perder su dinero. Ya se han realizado transacciones en la red principal desde startups como Y´alls, Tor Guard, Bitrefill y Blockstream, para la compra de bienes y servicios.
Para visualizar la Lightning Network en tiempo real, sus nodos y canales abiertos entre ellos, se puede utilizar el explorador de ACINQ.
Aplicaciones
La red Lightning permite diversos casos de uso que mejoran la versatilidad de las blockchains. Algunos de ellos son:
Pagos instantáneos: con la red Lightning Network se pueden realizar transacciones en segundos con cualquier persona, si se usan pagos directos no revocables. Como por ejemplo, pagar por un café o un servicio de suscripción usando bitcoins.
Micropagos: las comisiones de las blockchains, como Bitcoin, pueden ser muy altas y no permitir realizar pagos minúsculos sin que el gasto se vuelva significativo. La red Lightning permite realizar envíos de dinero con comisiones cercanas a cero sin necesidad de usar un tercero de confianza. Por ejemplo, se podrían realizar pagos por artículo en una revista o pagos por mega usado a un servicio de Internet.
Contratos inteligentes financieros: los contratos financieros son sensitivos en tiempo y generan mayor demanda de cómputo en la blockchain. Al mover la gran mayoría de las transacciones sin necesidad de confianza fuera de la blockchain, se hace posible realizar transacciones con términos de contrato altamente complejos sin necesidad de que toquen la cadena de bloques.
Pagos entre cadenas o Atomic Swaps: siempre que haya funciones hash similares en las diferentes cadenas de bloques, es posible enrutar las transacciones en varias cadenas con diferentes reglas de consenso. El remitente no tiene que confiar o incluso saber sobre las otras cadenas, incluyendo la cadena de destino. De manera similar, el receptor no tiene que saber nada acerca de la cadena del emisor o de cualquier otra cadena. Todo lo que le importa al receptor es un pago condicional al conocer un secreto en su cadena.
Arbitraje en intercambio: en la actualidad existe un incentivo para mantener los fondos en las casas de cambio, para estar preparados para grandes movimientos del mercado debido a los tiempos de confirmación de 3 a 6 bloques. Es posible que las casas de cambio participen en la red Lightning y que los clientes transfieran sus fondos dentro y fuera del intercambio para pedidos, casi al instante. Si la casa de cambio no tiene mucha profundidad de mercado y se compromete a solo permitir órdenes de límite cerca de la parte superior de la cartera de pedidos, entonces el riesgo de robo de monedas será mucho menor. La casa de cambio, en efecto, ya no tendría ninguna necesidad de una billetera de almacenamiento en frío. Esto puede reducir sustancialmente los robos y la necesidad de custodios de terceros confiables.