Ante los problemas de escalabilidad que sufre en la actualidad la red Bitcoin, surge la tecnología Lightning Network como una de las soluciones tecnológicas más prometedoras, que permite al protocolo Bitcoin ser adoptado masivamente para la realización de todo tipo de pagos, incluidos los micropagos y frecuentes.
El problema
Uno de los principales problemas con los que se encuentran muchos de los proyectos que se basan en tecnologías blockchain, es la escalabilidad en cuanto al número de transacciones que se pueden realizar, de forma segura, por unidad de tiempo. Dicho aspecto, afecta al número de usuarios que puede utilizar el protocolo e impide que éste se pueda adoptar de forma masiva por parte de la sociedad.
En el caso del protocolo Bitcoin, existen varios factores que impiden que el protocolo pueda escalar para convertirse en un sistema de pagos global que pueda ser usado por la mayoría de la población. Por un lado, se estima que el protocolo Bitcoin tarda alrededor de 10 minutos en confirmar una transacción para que pueda ser gastada. Por otro lado, las transacciones confirmadas pueden tardar hasta una hora para que sean irreversibles. Además, las comisiones que el usuario tiene que pagar para realizar una transacción, en el caso de pagos de cantidades pequeñas, puede ser superior a dichas cantidades.
¿Qué es Lightning Network?
Lightning Network se define como un sistema descentralizado que permite la realización, de forma instantánea, de todo tipo de pagos, incluidos los micropagos, eliminando los riesgos implícitos existentes en delegar dichos pagos en terceras partes que custodian los fondos de los usuarios para tal fin. Lightning Network está liderando el desarrollo tecnológico de la transferencia de valor entre múltiples partes, sin intermediarios, utilizando para ello smart contracts y la tecnología Bitcoin.
¿Qué soluciones aporta Lightning Network al protocolo Bitcoin?
Como hemos indicado anteriormente, las transacciones en el protocolo Bitcoin se consideran irreversibles después de más o menos una hora desde que fueron lanzadas, es decir, después de que se haya producido la confirmación de seis bloques. Por el contrario, Lightning Network permite realizar transacciones con pagos de forma instantánea, sin que haya que esperar tiempo a que sean confirmadas por la creación de nuevos bloques.
Por otro lado, también hemos señalado que, en el caso de los micropagos, es decir, pagos de cantidades pequeñas, las comisiones que se deben pagar en la red de Bitcoin, pueden ser superiores a las cantidades de dichos pagos. Ante esta situación, Lightning Network constituye un sistema que permite realizar este tipo de pagos de pequeñas cantidades, pero que pueden ser recurrentes, en la red de Bitcoin, sin tener que pagar una alta comisión por cada uno de dichos pagos.
Como consecuencia de lo anterior, Lightning Network permite al conjunto de la sociedad poder realizar todo tipo de pagos a través de Bitcoin sin tener que delegar dichos pagos a terceras partes, por lo que se resuelve en gran parte el problema de la escalabilidad en el protocolo Bitcoin.
¿Cómo funciona Lightning Network?
Como hemos indicado en los anteriores apartados, la red Lightning Network resuelve los problemas de escalabilidad con los que se encuentra el protocolo Bitcoin, pero ¿cómo lo hace? En el presente apartado vamos a explicar con ejemplos prácticos cómo opera la red Lightning Network.
La principal herramienta que utiliza la red Lightning Network son los canales de pago entre partes. Cuando se crea un canal entre dos partes, ambas aportan unos fondos, los cuales son depositados en una dirección de Bitcoin multifirma, la cual representa dicho canal, por lo que cada canal que es creado en Lightning Network es representado por una entrada en el libro contable público de Bitcoin. Para enviar fondos a través del canal, ambas partes deben estar de acuerdo con el nuevo balance alcanzado. El balance actual se almacena como la transacción más reciente firmada por ambas partes.
Para firmar las transacciones, ambas partes utilizan unas claves generadas previamente mediante BIP 0032, con una billetera HD (Hierarchical Deterministic Wallets).
Con el objetivo de entender mejor cómo funcionan los canales de pago entre partes, pongamos el siguiente ejemplo. Supongamos que Bob gestiona un quiosco de prensa en el que vende periódicos y revistas. Alice es cliente de Bob y todos los días le compra el periódico. Ambos deciden que dichos pagos se van a realizar con Bitcoin, siendo la cuantía de los mismos de 1 BTC (a día de hoy un 1 BTC tiene un valor superior a 30.000 $, pero para ilustrar el ejemplo, es indiferente el valor que tenga el Bitcoin en cada momento).
Para no tener que realizar una transacción en la red de Bitcoin por cada compra del periódico que realiza Alice a Bob todos los días, y tener que pagar las comisiones de red asociadas, las cuales pueden ser superiores al importe del periódico, Alice y Bob deciden utilizar la red Ligthning Network, creando un canal bidireccional entre ambos para realizar dichos pagos (Figura 1).

Figura 1: Alice y Bob crean un canal bidireccional de pagos.
Para crear dicho canal, Alice y Bob utilizan una billetera HD multifirma, con el fin de generar las claves que van a utilizar para firmar las transacciones, y depositan una cierta cantidad de BTC, acordada por ambas partes, para realizar los pagos. Acuerdan que Alice deposite 365 BTC para poder comprar los periódicos durante un año entero, y que Bob deposite 10 BTC por si Alice realiza alguna reclamación a Bob por la venta de algún periódico defectuoso. En el momento en el que se crea el canal, a este se le asocia una dirección única que se guarda en el libro de contabilidad de la red Bitcoin. Para ello, se realiza una transacción de fondeo o de apertura del canal.
Cada vez que se realiza un pago dentro del canal, ambas partes deben estar de acuerdo en la cuantía del nuevo balance, firmando conjuntamente una nueva transacción. A dicha transacción se le llama transacción de compromiso, y en ningún momento se hace broadcasting a la red de Bitcoin. Es decir, dicha transacción solo de ejecuta en la Lightning Network (Figura 2).

Figura 2: Alice y Bob realizan transacciones de compromiso a través del canal bidireccional de pagos.
Alice y Bob pueden decidir en cualquier momento, de forma conjunta o unilateral, cerrar el canal ente ambos. En ese momento, se realiza una transacción broadcasting del último balance del canal a la red Bitcoin, y una vez que los mineros de la red Bitcoin confirmen que las firmas de la transacción son correctas, se liberan los fondos que correspondan a ambas partes. En nuestro ejemplo, Alice y Bob deciden cerrar el canal, de mutuo acuerdo, después de que pasase un año, periodo en el cual Alice le ha comprado 365 periódicos, y ha devuelto 10 a Bob por estar defectuosos. Como consecuencia, el balance final de Alice, en el momento de cerrar el canal, es de 10 BTC, y el balance final de Bob es de 365 BTC.(Figura 3).

Figura 3: Alice y Bob cierran su canal bidireccional de pagos.
Por lo tanto, el balance del canal sólo se reflejará en la blockchain de Bitcoin en el momento de la creación del canal, cuando alguna de las partes no este de acuerdo con la cantidad del mismo, o cuando el canal sea cerrado por alguna de las partes o las dos de mutuo acuerdo. Como consecuencia, Lightning Network se puede considerar como una red que permite aplazar el estado de las cuentas y balances en la red de Bitcoin.
Nótese que las comisiones que tienen que abonar Alice y Bob por la totalidad de los pagos que realizan hasta que se cierra el canal, obedecen a dos transacciones broadcasting que se realizan a la red de Bitcoin en el momento de crear el canal y en el momento de eliminarlo.
Alice, además de comprar el periódico todos los días a Bob, también compra el pan en la panadería de Tom. Ambos deciden que dichos pagos se van a realizar con Bitcoin, siendo la cuantía de los mismos de 1 BTC aproximadamente (a día de hoy un 1 BTC tiene un valor superior a 30.000 $, pero para ilustrar el ejemplo, es indiferente el valor que tenga el Bitcoin en cada momento). Para no tener que realizar una transacción en la red de Bitcoin por cada compra de pan que realiza Alice a Tom todos los días, y tener que pagar las comisiones de red asociadas, las cuales pueden ser superiores al importe a pagar, Alice y Tom deciden utilizar la red Lightning Network, pero no tienen un canal creado entre ambos. Sin embargo, como existe un canal entre Alice y Bob, y también existe un canal, entre Bob y Tom, la red Lightning Network permite que Alice realice pagos a Tom, a través de Bob (Figura 4).

Figura 4: Alice realiza pagos a Tom a través de Bob.
En este caso, hay que destacar que, para evitar que los Bitcoins puedan ser robados por una de las partes (Bob), y que se puedan intercambiar de forma segura a través de los canales que forman la Lightning Network, se utilizan los HTLCs (Hashed Timelock Contracts), los cuales tiene como propósito gestionar el estado global en múltiples nodos a través de hashes y tiempos de espera escalonados. Para lograr esto, los HTLCs deben poder crear transacciones que solo son válidas después de una fecha determinada, utilizando nLockTime. Los HTLCs no requieren confianza de custodia de ningún participante de la red.
Cabe destacar que, en este caso, como Alice y Tom no tienen un canal directo abierto entre ambos, Bob podría cobrar una pequeña comisión por ser intermediario de los pagos que se realizan entre Alice y Tom.
Las comisiones que te pagan a los intermediarios por usar sus canales, para realizar pagos dentro de la Lightning Network, son muy pequeñas, ya que dichas comisiones son proporcionales a la cantidad de BTC que se transfiere en dichos pagos y a que la red Lightning Network se encargará de buscar el camino más corto entre las partes y el que menos comisiones tenga.
Como consecuencia del ejemplo anterior, se puede decir que la red Lightning Network forma una red de canales bidireccionales multifirma, que permite realizar pagos entre partes, a través del resto de usuarios, aunque dichas partes no dispongan de un canal ad-hoc entre ambas, y sin necesidad de que ninguna de las partes tenga la propiedad de custodia unilateral de los fondos. Esto es posible mediante la aplicación de pagos condicionados al conocimiento de un hash criptográfico seguro.
Se recomienda a los lectores que quieran profundizar en los conceptos mencionados anteriormente, encargados de gestionar la seguridad de las transacciones a través de los canales de la Lightning Network, para evitar robos de fondos, que consulten los enlaces que se encuentran en el apartado de «Referencias».
Nodos y Wallets
A priori, para abrir un canal directo entre dos partes dentro de la Lightning Network, es necesario que cada una de las partes levante un nodo en dicha red. Para ello se necesitan conocimientos técnicos y recursos HD/SW, además de una conexión a internet 24/7/365 días al año. Como en la mayoría de los casos, este escenario no viable, han ido surgiendo proyectos que han desarrollado wallets que permiten a los usuarios, de forma sencilla, realizar pagos en la Lightning Network sin tener que instalar un nodo de dicha red. Entre estos proyectos están Breez, Blue Wallet, o Phoenix Wallet.
Invitamos al lector que este interesado en estos proyectos, que acceda a los enlaces del apartado «Referencias» para que pueda profundizar en sus características y funcionalidades.
Conclusión
Lightning Network implementa una red de canales de micropagos, que permite a Bitcoin escalar a miles de millones de usuarios sin riesgo de custodia de terceros o de centralización de la blockchain, controlando que las transacciones se realicen de forma segura, fuera de la cadena de bloques utilizando scripts de bitcoin.
Aunque la red Lightning Network se ha hecho especialmente popular debido a que permite escalar el protocolo Bitcoin, sus características y funcionalidad hacen que sea aplicable en diferentes ámbitos, dando lugar diversos casos de uso, como son los micropagos, las transacciones instantáneas, el arbitraje en casas de cambio, la gestión de contratos inteligentes en el ámbito de la finanzas, y los pagos entre diferentes cadenas, aunque utilicen diferentes algoritmos de consenso.
Referencias
- Lightning Network Website: https://lightning.network/
- Lightning Network Paper: https://lightning.network/lightning-network-paper.pdf
- Lightning Network Summary: https://lightning.network/lightning-network-summary.pdf
- Lightning Network Docs: http://lightning.network/docs/
- Working with micropayment channels: https://bitcoinj.org/working-with-micropayments
- Breez: https://breez.technology/
- Blue Wallet: https://bluewallet.io/
- Phoenix Wallet: https://phoenix.acinq.co/

