Lightning Network de Bitcoin: ¿Qué es y cómo funciona?

 

Lightning Network es la gran promesa de bitcoin, que hará que sea más rápido y fácil difundir Bitcoin como medio de pago para las masas.

Lightning Network es una idea muy prometedora para el futuro de Bitcoin. De hecho, a pesar de los más de 10 años desde su lanzamiento, Bitcoin todavía tiene estos problemas. Entonces, veamos qué es Lightning Network, cómo funciona y otros problemas relacionados con la plataforma.

Si vas a adentrarte en el mundo de las criptos y quieres saber como comerciar con cripto puedes ver aquí: how and where to buy cryptocurrencies.

¿Qué es Lightning Network?

Lightning Network es un protocolo de pago de «nivel 2» diseñado para acercarse a una criptomoneda basada en blockchain. Su objetivo es permitir transacciones rápidas entre los nodos participantes y se ha propuesto como una solución al problema de la escalabilidad de Bitcoin.

Cuenta con un sistema peer-to-peer para realizar micropagos en criptomonedas a través de una red de canales de pago bidireccionales sin delegar la custodia de los fondos.

El uso normal de Lightning Network consiste en abrir un canal de pago mediante el compromiso de una transacción de financiación en su cadena de bloques básica (nivel 1). Seguido de cualquier cantidad de transacciones de Lightning Network que actualizan la distribución provisional de los fondos del canal sin pasarlos a la cadena de bloques.

Nuevamente seguido opcionalmente por el cierre del canal de pago mediante la transmisión de la versión final de la transacción de liquidación para distribuir los fondos del canal.

¿Cómo funcionan las transacciones de Bitcoin?

Andreas Antonopoulos llamó a Lightning Network una red de enrutamiento de segundo nivel.

Los canales de pago permiten a los participantes transferir dinero entre ellos sin tener que hacer públicas todas sus transacciones en la cadena de bloques. Esto se hace penalizando a los participantes que no cooperan. Al abrir un canal, los participantes deben comprometer una cantidad (en una transacción financiera, que está en la cadena de bloques).

Las extensiones de secuencias de comandos basadas en el tiempo, como CheckSequenceVerify, hacen posibles las penalizaciones.

La propuesta de mejora de Bitcoin CheckSequenceVerify (CSV) detalla cómo se implementan los contratos Hash Time-Locked con CSV y cómo se utilizan en Lightning: BIP 0112.

¿Qué es CheckSequenceVerify?

Es un bloque de tiempo relativo que opera a nivel de guion. Esto nos permite definir el momento exacto en que finalizará un bloque en una transacción determinada. Con BIP 112 se agregó definitivamente al sistema Bitcoin.

La utilidad CheckSequenceVerify habilita funciones avanzadas para crear sistemas como los canales de pago de Lightning Network (LN). También permitirá crear funcionalidades avanzadas para la gestión descentralizada de fondos, útiles para intercambios descentralizados (DEX) o servicios de intercambio de seguros P2P.

Del mismo modo, aunque el funcionamiento de CheckSequenceVerify (CSV) es bastante similar al de CheckLockTimeVerify (CLTV), en CSV se comprueba la pila superior con el campo de entrada, en lugar de comprobar la hora como en el caso de CLTV.

Al hacerlo, los bloques de tiempo relativos, como CheckSequenceVerify, pueden marcar una transacción como no válida. Y para ello vigilan que haya transcurrido el intervalo de tiempo establecido desde que se confirmaron las anteriores salidas de la transacción.

En pocas palabras, los bloques de tiempo relativos nos permiten definir exactamente el tiempo que debe pasar antes de que se pueda confirmar una transacción. A diferencia de los bloques de tiempo absolutos que definen el momento exacto (número de bloque o fecha y hora) en que terminará el bloque de la transacción.

Transacciones de Bitcoin con Lightning Network

Comencemos con lo que normalmente sucede en las transacciones de criptomonedas.

Cómo funciona la cadena de bloques de Bitcoin

Cuando un sujeto A envía una cierta cantidad de Bitcoin (BTC) a un sujeto B, la información que compone esta transacción, aún no validada por la red BTC, se propaga a través de la red de computadoras que participan en la infraestructura BTC.

Para cuidarlo están los llamados mineros, que recopilan una serie de transacciones pendientes que no pueden superar los 1 MB de peso. Los mineros compiten para verificar que tales transacciones sean realmente válidas.

¿Qué hacen los mineros en la práctica? Comprueban que:

  1. Realmente tiene disponible la cantidad de BTC que pretende transferir
  2. No está tratando de enviar esta cantidad a múltiples terceros al mismo tiempo.

Un minero, para llevar a cabo su tarea, utiliza una gran cantidad de potencia informática para realizar estas comprobaciones. Y necesita una remuneración para ser incentivado a desempeñar su papel de validador.

El incentivo consiste en llegar primero a la validación del bloque y está compuesto en parte por BTC de nueva generación y en parte por las comisiones asociadas a cada una de las transacciones incluidas en el bloque validado.

Por lo general, un bloque de transacciones se valida («mina») cada 10 minutos y se agrega a la cadena de bloques previamente validada por la red (blockchain).

Entonces, hemos resumido en pocas palabras cómo se lleva a cabo la validación de los bloques de bitcoin. Y aquí es donde surgen varios problemas:

  • Se mina un bloque cada 10 minutos en promedio
  • Un bloque puede pesar hasta 1 MB de tamaño
  • El tamaño de una transacción simple es de aproximadamente 250 bytes.

Todos estos factores, dejan en claro por qué las transacciones de bitcoin son lentas y causan problemas de «cuellos de botella».

La velocidad de acumulación de transacciones no confirmadas supera la velocidad con la que los mineros pueden validar las transacciones por sí mismos. Para remediar esto, los usuarios terminan ofreciendo comisiones más altas a los mineros para que validen más rápido los bloques que les conciernen. También creando un sistema antidemocrático.

El resultado final es que una cadena de bloques se vuelve lenta y económicamente inconveniente de usar.

Canales de pago bidireccionales

Y aquí es donde entra Lightning Network, para resolver esos problemas.

Lightning Network (LN) asume que las transacciones realizadas por un individuo siempre ocurren con las mismas personas. Para pagar los gastos habituales: el alquiler de la casa, el desayuno en el bar, la hora feliz con los compañeros después del trabajo, la barbería una vez al mes, el pago de una factura mensual o bimestral.

Por lo tanto, el LN le permite abrir un canal de pago directo entre 2 sujetos que vincularán una cantidad arbitraria de BTC a este canal de pago.

El canal de pago y las sumas vinculadas a él se registran en la cadena de bloques, pero todas las transacciones que implican una simple redistribución de las cifras vinculadas se gestionan fuera de la cadena de bloques, a través de la LN.

El canal se puede cerrar cuando lo desee, y el saldo de la transacción se registra en la cadena de bloques BTC.

Lightning Network también permite la transferencia de BTC fuera de blockchain incluso cuando 2 sujetos no están conectados directamente entre sí por un canal de pago. Pero ambos están conectados por una tercera persona en común. Será este último el que hará de puente entre ambos. Con A quien enviará dinero a B, enviándoselo primero a C. Este último se lo enviará luego a B.

Para crear un canal de pago bidireccional, las partes involucradas primero deben acordar una transacción de apertura. Eso es para determinar cuántos bitcoins se depositan en el canal por cada una de las dos partes.

Para abrir el canal, dos partes envían una cantidad de bitcoins cada una a una dirección multisig de 2 por 2. Esto se trata como la transacción de apertura. Los bitcoins solo se pueden gastar fuera de esta dirección si las dos partes firman la transacción. Dando efectivamente su consentimiento. Además, ambas partes crean un secreto, que es una cadena de números, e intercambian su hash.

Después de establecer una transacción de compromiso «semiválida», ambos firman las transacciones y transmiten la transacción de apertura a la cadena de bloques para asegurarse de que esté registrada. En este punto, el canal está finalmente abierto. Ninguna de las partes firma y transmite completamente su parte de la transacción.

Cómo funciona Lightning Network, segunda capa de bitcoin

Sin embargo, surge una pregunta: ¿qué impide que Bob transmita la transacción anterior para obtener seis bitcoins en lugar de cinco? Lo que impide que Bob haga esto es su primer secreto, ahora propiedad de Alice.

Por lo tanto, Bob ya no puede firmar ni transmitir la transacción anterior porque Alice conoce el primer secreto de Bob. Si Bob firmó y aprobó esa transacción, inmediatamente enviaría cuatro bitcoins a Alice y tendría que esperar 1000 bloques para reclamar sus seis bitcoins. Pero dado que Alice ahora posee el secreto, podría usar el tiempo de espera de los mil bloques para firmar la transacción anterior y así reclamar los otros seis bitcoins además de los cuatro que ya recibió.

Y dado que Bob también posee el secreto de Alice, también puedes hacer esto en tu recíproco. Si Alice intenta firmar y transmitir una transacción anterior, Bob puede robar todos los bitcoins del canal.

Por lo tanto, esto implica que tanto Alice como Bob tienen un fuerte incentivo para firmar y transmitir solo el estado más reciente del canal. Un verdadero mecanismo de juego limpio y confianza mutua.

Con Lightning Network, la engorrosa validación de transacciones que se ve arriba no es necesaria, sino solo una confirmación tanto de la persona que envía BTC como de la persona que los recibe. Por lo tanto, todo se vuelve rápido y sin comisiones.

 

Caja de comentario