Publicado el Deja un comentario

Conceptos básicos de Lightning Network

Lightning Network, lightning o simplemente LN, es un sistema de pago de Bitcoin.

Lightning Network permite realizar transferencias de Bitcoin con un coste muy bajo e incluso nulo.

Es una solución de segunda capa de Bitcoin, que ayuda a escalar los pagos de bitcoin a nivel global. Puede hacer cientos de miles de transferencias por segundo, sin poner en juego la descentralización ni la seguridad de la blockchain.

No es ningún token ni ninguna moneda, es simplemente un método de envío de Bitcoin fuera de la cadena de bloques.

Lightning está diseñado para hacer los pagos pequeños, los cotidianos. La unidad medida en Lightning es el Satoshi.

El Satoshi es la fracción más pequeña de Bitcoin, 1 BTC equivale a 100.000.000 sats. Se mide de esta forma porque es más fácil decir 100.000 sats que 0.001 BTC.

Los pago a través de LN son privados, solamente quien realiza el pago y quien lo recibe saben que existe y solamente quien realiza el pago, conoce la ruta completa que ha seguido.

LN es una red de nodos unidos por canales bidireccionales, que forman una red neuronal. Suena complejo, veamos de qué se trata.

Para entender su funcionamiento, primero hay que entender cómo funcionan las transferencias en Bitcoin.

Funcionamiento de una transferencia de Bitcoin.

Cuando realizas una transferencia, pones la dirección donde quieres pagar, la cantidad y después firmas la transferencia con una clave privada. Este archivo lo puede publicar en la red inmediatamente o en otro momento.

Imaginemos que ese archivo es como un cheque al portador, quién tiene ese archivo puede presentarlo a la red en cualquier momento y la transferencia se realizará. Es importante que cuando se vaya a realizar esa transferencia, haya fondos en la dirección de origen.

De esta forma puedes hacer transferencias incluso sin conexión a Internet y puedes publicarla cuando tengas internet.

Este concepto es importante para entender cómo funciona lightning, después veremos por qué.

Canales de pago de Lightning Network

Despues de ver como funciona una transferencia de bitcoin, vamos a analizar como funciona un canal simpre en Lightning Network.

Empezaremos abriendo un canal entre tú y Ana. Una vez cargues tu billetera de lightning, buscas el nodo de Ana y abres un canal con ella de 0,01 BTC.  

Canal recién abierto:

Así queda tu canal de pago con Ana justo después de abrirlo.

Lo que ves en la imagen es un canal simple entre tu nodo y el de Ana. Cada nodo dispone de un identificador único llamado URI, este permite que puedas conectarse con otro nodo.

Tras conectar con Ana, abres un canal de pago con ella. Para abrir el canal tienes que enviar Bitcoin onchain hacia una dirección de un contrato.

Este contrato es una transferencia de bitcoin sin publicar. Se puede modificar por cualquiera de las dos partes pero debe estar firmado por los dos para publicarlo.

Tras abrir el canal con Ana de 0.01BTC, que son 1.000.000 de Satoshis, en el contrato se reflejarán los siguientes conceptos:

1: Que en una dirección de bitcoin hay bloqueados 0.01 BTC.

2: Que hay una transacción de 0.01BTC hacia una dirección tuya.

3: Que hay una transacción de 0 BTC hacia una dirección de Ana.

4: Que estas transacciones están firmadas por tu nodo y por el de Ana.

En cualquier momento, cualquiera de las dos partes podéis cerrar el canal y la transferencia ya firmada se publicará, reflejándose así en la blockchain.

Una vez abierto el canal, tú podrás pagar a Ana cualquier cantidad que no supere los 0.01 BTC, pero Ana aun no podrá pagarte nada a ti porque en el canal aun no hay saldo en su lado.

Pago en un canal simple:

Después de abrir el canal con Ana, le haces una transferencia de 0.005BTC. El canal quedaría de la siguiente forma.

Tu nodo se queda con un saldo para pagar de 0.005BTC.

Ahora también puedes recibir 0.005BTC desde el nodo de Ana.

En el contrato, siguen habiendo 0.01BTC bloqueados en la misma dirección. Bitcoin aun no se han movido en la blockchain.

Ahora la transferencia del contrato hacia tu dirección de bitcoin, ha pasado de ser de 0.01 a ser de 0.005.

Ambas partes han firmado de nuevo la transferencia para que al cerrar el canal por alguna de las partes, la transferencia se realice.

La transferencia hacia la dirección de Ana ha pasado a ser de 0 a 0.005.

Ahora Ana puede pagar 0.005BTC y puede cobrar 0.005BTC.

Nodo con múltiples canales

Después de recibir un pago tuyo, Ana decide abrir otro canal con Pedro.

Después de abrir el canal con Pedro, Ana tendrá dos canales. En este momento podría recibir pagos de hasta 0.005 BTC de tu nodo, pero aun no podrá recibir pagos de Pedro.

El contrato entre Ana y Pedro tiene la misma estructura que el que tú tienes con Ana, ellos firmarán las transacciones que hagan en todo momento pero no las publicarán hasta que cierren el canal.

Si ahora tú quieres pagar a Pedro, podrás hacerlo sin necesidad de abrir un canal directamente con el. Ahora veremos como se hace.

Enrutamiento de pagos en Lightning Network

Para hacer un pago de bitcoin a través de Lightning, no es necesario tener un canal con cada uno al que quieras pagar. Lo que necesitas es una ruta de pago con liquidez suficiente para hacerlo. Lo vamos a ver en este ejemplo.

Enrutamiento simple

Partiendo del estado anterior de los canales, has hecho un pago a Pedro de 0.002BTC. Puedes hacerlo porque existe una ruta de pago con liquidez necesaria para ello.

En realidad no estas pagando directamente a Pedro, sino que haces un pago a Ana e inmediatamente después Ana realiza un pago a Pedro. Tú modificas el contrato con Ana y Ana modifica su contrato con Pedro.

La cantidad de Bitcoin en posesión de Ana no va a cambiar, pues de que paga a Pedro, justo antes lo habrá recibido de tú canal. Los Bitcoins en tú posesión sí que habrán cambiado y se suman a los que Pedro tiene en su posesión.

Este proceso es automático, Ana no tiene que estar vigilando para hacer el enrutamiento, y ni tú ni Pedro necesitáis confiar en Ana para hacerlo.

Tras hacer el pago, a Ana le ha cambiado el balance de los canales, ella ahora sí podrá recibir pagos de Pedro de hasta 0.002.

Pedro ahora tiene la capacidad para pagar a Ana o a ti una cantidad de hasta 0.002BTC. No obstante, su capacidad para recibir pagos, se ha reducido de 0.01 a 0.008 BTC.

Por tu parte, después de haber pagado 0.005BTC a Ana en el primer pago y 0.002BTC en el segundo, te queda una capacidad de pagar de 0.003 pero podrás recibir pagos de hasta 0.007BTC.

Ruta de pago de Lightning Network

La red de lightning cuenta con miles de nodos y miles de canales de pagos unidos entre ellos. Para hacer un pago es necesario encontrar una ruta. 

En este ejemplo vemos que estás pagando a Bea, pero como no tienes  un canal directo con ella, necesitas que otros nodos enruten tu pago. En este caso se necesitan 4 nodos, por lo que el pago ha dado 5 saltos.

Este pago es posible porque todos los nodos que participan en la ruta, tienen canales con suficiente liquidez en el lado más próximo a ti, para enviarlo al más lejano.

El balance total de Ana, Pedro, Juan y Luis no cambia porque lo que envía al siguiente nodo, justo antes lo ha recibido del anterior.

Puede pasar que exista más de una ruta para enviar el pago, se puede elegir manualmente si fuera necesario, pero el pago de forma automática se determina por el coste. Lightning envía el pago por la ruta más  barata según las comisiones.

Comisiones en Lightning Network

Todo lo explicado hasta aquí, es para entender los conceptos, pero no es del todo real porque en Lightning, al igual que en la blockchain, hay pagos de comisiones para incentivar su expansión.

En este caso, las comisiones en vez de pagarse a los mineros, se pagan a los nodos que enrutan los pagos. Estas comisiones son pagadas por quien hace el pago, no por quien lo recibe.

Son dos tipos de comisiones, una es una comisión base por transferencia y la otra depende de la cantidad que vaya a enrutar.

La comisión base, está definida por el propietario del nodo, se define en cada uno de sus canales y siempre es igual sea cual sea la cantidad a enrutar.

La otra comisión se calcula con satoshis por millón, es la cantidad de satoshis que va a cobrar de comisión por cada millón de satoshis que va a enrutar.

Como vemos, a diferencia de los pagos a través de la blockchain, estas comisiones dependen en gran parte de la cantidad que se va a enviar, por lo tanto, las comisiones son mucho más bajas que con los pagos onchain si los pagos son pequeños.

Para los pagos más grandes puede salir más barato hacerlo onchain que a través de LN, pero eso depende de como esté de saturada la blockchain y como estén las comisiones en LN, pues al fin y al cabo, trabajan como un mercado.

Pagar a través de lightning, además del tema de las comisiones y la velocidad de los pagos, tiene otra ventaja importante, la privacidad.

Privacidad de Lightning Network

Como dijimos en este articulo, Bitcoin no es anónimo sino pseudoanónimo. Esto quiere decir que aunque las direcciones de bitcoin no están previamente identificadas, son únicas y al ser la blockchain publica, cualquiera puede ver los movimientos que se hacen.

Cuando realizas un pago a cualquier plataforma donde estés identificado estás vinculando una dirección a tu persona y por lo tanto, quien te identifica puede ver muchas de tus transacciones anteriores y de las futuras.

Quien conoce la identidad de alguna de tus direcciones puede hacer un estudio de tus transacciones y trabajar en base a hipótesis y estadística. hay empresas que ya se dedican a rastrear la blockchain y surgirán muchas otras.

Los pagos a través de lightning, sin embargo, son privados. analizando la blockchain únicamente se muestra la dirección donde los bitcoin están bloqueados, saben a que nodos pertenece pero no pueden saber cuanto pertenece a cada nodo.

Los movimientos dentro de la red de lightning son arrastrables, ni siquiera podemos saber cuantas trasferencias se realizan dentro de la red.

Los detalles de un pago solo lo conoce el pagador y el cobrador, nadie más, y el pagador recibe una prueba de pago criptográficamente irrefutable que, ante un conflicto, demuestra que ha pagado.

Pagos tipo cebolla

Los pagos en lightning utilizan una estructura que se llama cebolla, esto es porque trabaja con capas. de esta forma nadie, excepto el pagador, conoce la ruta completa del pago.

Cualquier nodo enrutador solamente tiene información sobre la cantidad que tiene que enrutar, del nodo anterior al suyo y al nodo a quien tiene que enviar. En ningún momento conoce ni la ruta, ni el origen del pago ni el destino.

René Pickhardt, un desarrollador de lightning, nos lo explica aquí de una forma muy grafica.

Play Video

Conclusiones

  1. Cobrar o pagar a través de lightning, es cobrar o pagar en bitcoin, no en derivados, pues se trabaja sobre las claves privadas de bitcoin.
  2.  Lightning es ideal para micropagos y pagos comunes que se realizan en el día a día, no tanto para pagos excepcionales de más cantidad.
  3. Los pagos más grandes pueden llegar a ser más caros que los pagos onchain, dependiendo de la situación de ambas redes.
  4. Utilizar lightning favorece a la privacidad de todos los usuarios de bitcoin.
  5. Para almacenar y ahorrar en bitcoin, siempre es más seguro guardarlos onchain y al poder ser en una hardwallet.
  6. Es más complejo de utilizar que bitcoin onchain, sobre todo para poder recibir pagos, pero para eso está aqui Bitcoin Shopping Centre, para facilitarte la vida. Aprende como aceptar pagos con Lightning Network sin asumir riesgos.
Compartir
Deja una respuesta

Tu dirección de correo electrónico no será publicada.