Resolver el problema de escalabilidad del Bitcoin no es tarea fácil. Este problema lleva mucho tiempo estudiándose y ahora la solución podría estar entre nosotros. Su nombre es Lightning Network y podría llevar a Bitcoin a la cúspide de la escalabilidad para hacer frente a la masificación de las criptomonedas.
El protocolo Lightning Network, es un protocolo pensado para mejorar la escalabilidad del Bitcoin. Esto es posible porque trabaja como una segunda capa sobre Bitcoin que le permite realizar cosas que normalmente no podría y más específicamente; transacciones instantáneas y con muy bajas comisiones.
El desarrollo de este protocolo comenzó con los trabajos de Joseph Poon y Thaddeus Dryja. Pero en la actualidad son empresas como Blockstream, Lightning Labs y ACINQ quienes impulsan el desarrollo del mismo. El whitepaper de este desarrollo se puede encontrar en ese enlace de su web principal.
Para entender un poco el potencial de esta tecnología, debemos tener presente dos cosas. La primera, es que Bitcoin se creó como una solución de dinero digital. La segunda, es que ese objetivo es imposible de alcanzar con el estado actual de la red y el software Bitcoin. La razón de esto es muy sencilla: Bitcoin tiene problemas para escalar.
En la actualidad, Bitcoin solo puede procesar de 7 a 8 transacciones por segundo. Esta es una capacidad muy pequeña y que no puede hacer frente al uso masivo de la criptomoneda. Como resultado, la red Bitcoin se hace lenta y muy cara a la hora de pagar comisiones.
Por esta razón se necesitaba una nueva forma de realizar transacciones de forma rápida, que fuera sencilla de utilizar y compatible con Bitcoin sin tener que hacer grandes modificaciones. La respuesta a estas necesidades es Lightning Network.
¿Por qué se necesita mejorar la escalabilidad de Bitcoin?
Si Bitcoin tiene una red tan poderosa y extensa entonces por qué debe mejorar su escalabilidad. La respuesta corta es; porque al mejorar la escalabilidad las transacciones se hacen de forma más rápida y son menos costosas.
Para explicar la respuesta de forma larga haremos un pequeño ejercicio. Imagina que haces una transacción en Bitcoin. En ese momento la red tiene muy poco uso y el costo en comisiones de cada transacción es muy pequeño.
Sin embargo, el costo de las comisiones puede aumentar debido a que el uso de la red aumenta. Esto se debe a que se genera una cola o exceso de transacciones en la mempool. Es allí, cuando los mineros suelen priorizar las transacciones con las comisiones más altas para obtener mayores beneficios. De esa forma, si deseas que una transacción sea procesada de forma rápida, entonces tendrás que pagar más en comisiones.
Pero este último caso nos indica también que los costos de las comisiones aumentarán hasta el punto de no permitirnos hacer micro pagos. Por ejemplo, enviar 1 dólar puede costarte más de 1 dólar en comisiones. Esta es una situación sin sentido y que la mejora de escalabilidad puede solucionar, de ahí la necesidad de mejorar esta característica.
¿Cómo funciona Lightning Network?
El funcionamiento de Lightning Network depende de varios factores técnicos y de un proceso para que el resulte ser seguro de usar. En primer lugar, Lightning Network depende de que la no maleabilidad de la criptomoneda este asegurada. De esta forma, sería imposible para un tercero cambiar la información sobre las transacciones o criptomonedas durante el proceso de verificación o generación de las mismas.
En Bitcoin y Litecoin la propiedad de no maleabilidad de las transacciones se introdujo gracias a la llegada de SegWit (Segregated Witness). Con este soft fork, Bitcoin solucionaba este problema y ponía los cimientos para una nueva forma de escalar sus capacidades.
Fue así como comenzó el desarrollo de Lightning Network y sus llamados canales de pago. Estos canales de pago, son la piedra angular del funcionamiento de la red y la llave para permitir una escalabilidad sin precedentes en Bitcoin.
¿Qué son los canales de pago?
Los canales de pago o payment channels son la base de la Lightning Network. Un canal de pago es en realidad una transacción multifirma en la blockchain con, al menos, una de ellas enviando fondos. En dicho canal, cada persona tiene una clave privada y cada transacción futura podrá realizarse únicamente si las claves de las dos partes firman. Esto como un medio de consenso de que la transacción ha sido aprobada para ejecutarse por ambas partes.
Además, los canales de pagos pueden estar abiertos por un determinado periodo de tiempo. Normalmente, este es de unos 10 minutos o lo que tarde en minarse el próximo bloque en la cadena. Pero una vez abierto el canal, los participantes del mismo pueden intercambiar activos entre ellos de forma instantánea utilizando los fondos almacenados en dicho canal. Esto en pocas palabras, significa que las partes que forman parte de un canal de pago Lightning Netwok, pueden realizar pagos entre si de forma instantánea.
Pese a este comportamiento, las transacciones realizadas en dicho canal de pago son completamente válidas en la blockchain, ya que une vez se cierra el canal, las transacciones realizadas se emiten a la red, se verifican y se incluyen en un bloque Bitcoin.
Curso Bitcoin Avanzado
Nivel avanzadoEn Bit2Me Academy te traemos este curso avanzado de Bitcoin gratuito para que te conviertas en el próximo Satoshi Nakamoto.
Explicando paso a paso el funcionamiento de Lightning Network
Para entender como funciona Lightning Network lo mejor es desglosar paso a paso todo su proceso de funcionamiento. Por esa razón, te explicaremos con un sencillo ejercicio como se realiza este proceso junto a otros puntos de interés para despejar todas tus dudas.
En primer lugar, dentro de Lightning tendremos dos participantes que crearán una transacción inicial en la cadena de bloques de 20$. De esos 20$, 10$ serán de Carmen y 10$ de Aitor. Este reparto podría ser distinto y puede variar dentro del canal que mencionábamos anteriormente, por lo que Carmen podría tener 15$ y Aitor 5$ al final de todos los intercambios.
Lo que Lightning hace es tomar la tecnología tras los canales de pago y crear una red que los conforma utilizando smart contracts para asegurarse de que la red puede funcionar de forma descentralizada.
En tal sentido, nos quedaría el siguiente desglose del proceso:
- Carmen abre un canal de pago con Aitor que a su vez tiene un canal con Laura, que a su vez tiene un canal abierto con David.
- Ahora mismo tenemos 4 partes participando en distintos canales de pago o payment channels.
- Carmen quiere intercambiar activos con David, por lo que podrá enviar fondos a través de Aitor y Laura para que lleguen en última instancia a David, el receptor.
- Debido a la naturaleza de la Lightning Network, Carmen no tendría por qué confiar en Aitor y Laura dentro del proceso ya que se usa la criptografía para asegurarse de que los fondos que recibirá David serán exactamente los mismos que ha mandado Carmen. Sino se devolverán de forma automática a Carmen.
Ahora bien nos quedamos con una serie de preguntas que son muy importantes responder: ¿Cómo es posible confiar en el paso 3?, ¿Qué sucede con la disponibilidad? y ¿Cómo se combate el engaño? Estas tres preguntas las responderemos a continuación.
¿Cómo es posible confiar en el paso 3?
En realidad, Aitor y Laura actúan como nodos dentro de la red que podemos equiparar a los mineros de la red Bitcoin. Esto gracias a que ellos procesan de forma descentralizada todas las transacciones sin tener control de los fondos que ayudan a mover.
Por esa razón, en ningún momento Aitor y Laura podrían robar los fondos de Carmen ya que tan solo se recibirán los fondos a enviar si ya se ha realizado la transacción de salida al recipiente final que en este caso es David.
¿Qué sucede con la disponibilidad?
Si Aitor se desconecta, los fondos del canal no quedarían indefinidamente atrapados en él, sino que dentro del mecanismo de smart contract de Lightning Network, los usuarios pueden cerrar de forma unilateral los canales. De esta forma, si Aitor desapareciera, Carmen podría recuperar su dinero de nuevo gracias al atributo de tiempo añadido en el contrato.
Cuando un canal se cierre a la vez tras haberse realizado un número de intercambios indefinido en él, los fondos finales de cada parte constarán en la blockchain durante 10 minutos o lo que tarde en aparecer el próximo bloque.
¿Cómo se combate el engaño?
Si Carmen enviara fondos de su dirección multifirma a David en la Lightning Network, pero no cumple y lo que hace es emitir una transacción antigua en la blockchain para cerrar el canal en el estado en el que estaba antes de enviar la transacción a David, el propio software en búsqueda de este tipo de acciones hará que Carmen pierda todos sus fondos enviados a David. Esto como penalización a tal acción, por lo que todo aquél que intente transmitir una transacción antigua e inválida será penalizado.
Gracias a esta red de canales persona a persona es posible encontrar un patrón dentro de la red por el que poder transmitir transacciones fuera de la cadena de bloques sin límites. Todo ello, sin perder la confianza de que posteriormente y tras cerrarse el canal constará dentro de la blockchain Bitcoin.
Seguridad de Lightning Network
Al respecto de la seguridad, existe un paper publicado en 2019 que realiza un análisis bastante técnico sobre la robustez de este desarrollo.
Los autores, Aggelos Kiayias (IOHK y Universidad de Edimburgo) y Orfeas Stefanos Thyfronitis Litos (IOHK) realizaron un exhaustivo examen sobre la seguridad de la red Lightning y el resultado del mismo es un documento de 84 páginas que puedes consultar y descargar haciendo click en la siguiente imagen.
Ventajas y desventajas de Lightning Network
Ventajas
- En primer lugar, Lightning ofrece una de las más poderosas opciones para mejorar la escalabilidad de Bitcoin. Lightning puede llevar a Bitcoin hasta niveles cercanos a 1 millón de transacciones por segundo, mucho más que las manejadas por sistemas de pago como VISA o MasterCard.
- Ofrece altos niveles de seguridad y anonimato. Esto debido a que las transacciones ocurren off-chain por lo que los pagos son prácticamente imposible de rastrear.
- Lightning es compatible con otros proyectos de criptomonedas además de Bitcoin. Por ejemplo, es posible usar Lightning con Litecoin.
- Es capaz de reducir enormemente el nivel de tráfico de transacciones dentro de la red Bitcoin. Esto haría que la red funcione de forma mucho más eficiente.
- Las transacciones usando Lightning Network se realizan de forma casi instantánea.
- Permite la realización de micropagos e incluso permite la automatización de los mismos.
- Habilita la capacidad de realizar intercambios atómicos cross-chain. Esto permite que dos cadenas de bloques que usen la misma función hash, puedan intercambiar tokens sin necesidad de un intermediario como un exchange.
Desventajas
- Una de las principales desventajas de Lightning es que los pagos solo pueden realizarse a usuarios que estén conectados a un canal de pago. Esto quiere decir, que el usuario debe estar activo y conectado al canal. A diferencia de esto, las transacciones de criptomonedas tradicionales no tienen esta limitación.
- Lightning Network es un protocolo que está en constante desarrollo. Prueba de ello, es que sus creadores aún recomiendan no usar Lightning para operaciones con grandes sumas de dinero.
- El protocolo limita la liquidez del canal al total de criptomonedas que sostienen todas las partes. Esta es otra situación que atenta contra las operaciones de alto valor, pues lleva a los usuarios a dividir sus fondos para tener liquidez en la blockchain normal y en los canales Lightning