¿Cómo funciona la red Lightning en términos simples?

  • ¿Podría describir cómo se supone que funciona la red Lightning?
  • ¿Cómo se escala mejor que las transacciones puras de blockchain?
  • ¿Cuáles son las ventajas y desventajas de las transacciones de Lightning Network y blockchain?
Las personas deben comprender que la visualización gráfica y las "escenas" son la mejor manera de describir el procesamiento secuencial y las dependencias... en lugar de mirar una pared de texto.

Respuestas (3)

Digamos, tú y yo queremos abrir un canal de pago.

1) Poner fondos en Lightning
Ambos enviamos 0.05 BTC a una dirección multigrado compartida 2 de 2. Esto requiere una transacción en la cadena de bloques de Bitcoin.
Como "hoja de balance", cada uno de nosotros crea una transacción multigrado de 2 de 2 que le paga 0,05 BTC a usted y 0,05 BTC a mí. Firmo una transacción de pago y se la doy. Si desea ponerlo en práctica, solo necesita agregar su propia firma y transmitirla a la red de Bitcoin. Viceversa, me das tu copia de la transacción de pago que has firmado y yo aún no.

Estos "hojas de balance" son transacciones regulares de 2 de 2 multisig en la red de Bitcoin, solo que aún no son válidas, porque a cada una les falta una firma. Tenga en cuenta que estas transacciones de pago unilaterales bloquean los fondos pagados de la parte ejecutora durante algún tiempo.

2) Pago
Ahora, quiero pagarte 0.01 BTC. Cada uno de nosotros crea una nueva transacción de pago ("hoja de balance") como antes, pero esta dice que usted obtiene 0,06 BTC y yo obtengo 0,04 BTC. Cada uno de nosotros recibe una transacción firmada por el otro a tal efecto como antes.
Para asegurarnos de que ninguno de nosotros pueda usar la transacción de pago anterior que el otro firmó anteriormente, cada uno de nosotros crea una transacción "anti-trampa": es una transacción que gasta los resultados de nuestra primera transacción de pago en la otra.

Es decir, cuando trato de activar el (ahora obsoleto) balance de 0,05 - 0,05 BTC, mis fondos pagados se bloquean durante varios bloques. Esto le da tiempo para transmitir la transacción "antitrampas" en la que firmé que se le envía mi salida de 0.05 BTC.

Aún así, es seguro para mí darte esa transacción a ti y a toda la red, porque el "antitrampas" solo puede activarse como respuesta al uso fraudulento de un balance antiguo. Por cierto, este mecanismo anti-trampas es la razón por la que Lightning necesita la solución Transaction Maleability de Segregated Witness.
Con la configuración descrita anteriormente, tendría que estar en línea para atraparlo tratando de hacer trampa, pero obviamente no sería seguro para mí mantener abiertos los canales de pago si tuviera que permanecer en línea todo el tiempo. Por lo tanto, para alentar a otros a ayudar con la transacción "antitrampas", establecemos una pequeña porción del pago "antitrampas" como una recompensa que cualquiera puede gastar. Ahora, podemos confiar la transacción antitrampas a todos los nodos de la red, para que todos puedan ver los balances antiguos que se transmiten. Cuando sucede, cualquiera puede firmar la recompensa para sí mismo y transmitir el "anti-trampa".

3) Pago en red Muy
bien, ahora usted y yo podemos enviar dinero de ida y vuelta miles de veces, con un efecto casi instantáneo (dependiendo solo de qué tan rápido podamos comunicarnos entre nosotros) sin agregar una sola transacción a la cadena de bloques de Bitcoin. Sin embargo, por otro lado, si uno de nosotros alguna vez intentara defraudar al otro, sería llevado inmediatamente a los tribunales al resolver la disputa en la cadena de bloques en su propio perjuicio. Bastante elegante, pero no terriblemente útil todavía.
Por la teoría de los seis grados de separación, todos están conectados a cualquier otro participante por solo unos pocos saltos. Supongamos que desea enviar dinero a Bob, que es barista y acaba de prepararle un café. Bob es amigo de Alice, mientras que yo tengo un canal de pago con Alice. Con fines ilustrativos, supongamos que cada canal de pago tiene dos BTC, divididos en partes iguales. No tienes una conexión directa con Bob.

Nuestra "red" ahora se ve así:

   You <-- 1BTC ----- 1BTC --> Me <-- 1BTC ----- 1BTC --> Alice  <-- 1BTC ----- 1BTC --> Bob

Ahora, dado que no tiene un canal de pago directo a Bob (y sería muy ineficiente si tuviera que crear un canal de pago con cada socio comercial que conozca), enruta su pago a través de la red. En lugar de solo escribir una actualización del saldo entre Bob y usted como describí anteriormente, esto se convierte en un esfuerzo concertado: su billetera encuentra una ruta de usted a Bob que tiene a) suficiente liquidez, b) menos tarifas y c) menos saltos . Para realizar un pago, cada canal de pago involucrado actualiza sus saldos. Con un pago de 0.01 BTC por el café, esto actualiza nuestra red a:

   You <-- 0.99BTC ----- 1.01BTC --> Me <-- 0.99BTC ----- 1.01BTC --> Alice  <-- 0.99BTC ----- 1.01BTC --> Bob

Como puede ver, los saldos en los extremos se han desplazado correctamente de usted a Bob, pero los demás participantes tienen el mismo saldo (aunque se han desplazado a otros canales de pago). Es importante darse cuenta de que la transacción solo puede realizarse por completo o no realizarse en absoluto . O actualizamos todos los saldos, o nadie lo hace.

Ahora, imagine que no tiene solo un canal de pago conmigo, ¡sino que tiene tal vez una docena de canales de pago con otros usuarios! :)

4) Cierre consensuado
del canal Salvo en el caso anterior, en el que una de las partes cierra el canal unilateralmente, uno de nosotros puede solicitar al otro que cierre un canal consensualmente. Cuando acordamos, creamos juntos una transacción de pago final que no bloquea ningún fondo y permite el gasto inmediato después de la confirmación. Incluso podríamos usar esta transacción para gastar parte de nuestro saldo directamente a un tercero en la cadena de bloques, o para crear otro canal de pago diferente.

5) Compensaciones

  • No puede recibir más dinero a través de Lightning en una transacción que la suma de los valores de sus canales de pago.
  • Sus transacciones no se almacenan en la cadena de bloques para la eternidad (es decir, una mejor privacidad de pago), pero, por otro lado, sigue usando la misma dirección, lo que permite a los usuarios que saben a quién pertenece la dirección monitorear su saldo (menos privacidad personal).
  • ¡Transacciones instantáneas! Pero su dinero está bloqueado en un canal de pago, que primero debe ejecutar en la cadena de bloques si desea realizar una transacción regular de Bitcoin con el dinero.
  • ¡Menos tarifas! Las transacciones en Lightning no requieren una tarifa de transacción completa de blockchain, pero si se enruta a través de los canales de pago de otros, es posible que deseen algo por la liquidez que le brindan. Sin embargo, dado que otros nodos Lightning compiten para transferir su pago por usted, es probable que sea mucho más bajo que una tarifa de transacción completa en la cadena de bloques.

Otras lecturas:

Genial, en algún momento pensé que los bitcoins serían una forma de pago instantáneo y se usarían en las tiendas y en la vida cotidiana, pero en otra pregunta de intercambio de pila, alguien me explicó que la demora para confirmar las transacciones en blockchain no lo notaría. El LN trae una luz a mi pensamiento anterior. Buena explicación. Leeré después del artículo sobre las compensaciones entre BTC y LN. Espero entender mejor las implicaciones de usar SegWit y LN, si es fácil ser una adopción general, lo único que sé hasta ahora es la queja de que los mineros no recibirán tarifas por cada transacción.
La gente necesitaría hacer una transacción con la cadena de bloques de vez en cuando, ¿verdad?
@Jp_: Actualmente, la única forma en que las personas pueden realizar transferencias de valores denominados en Bitcoin fuera de la cadena es mediante el uso de la misma plataforma de custodia de terceros (por ejemplo, tanto el remitente como el destinatario son usuarios de la billetera Coinbase). Los mineros no tienen ningún alcance en el mercado de transacciones instantáneas. Con Lightning Network, el establecimiento y cierre de canales debe ocurrir en la cadena de forma descentralizada, por lo que el alcance de los mineros se extiende a un mercado al que nunca antes habían tenido acceso.
0.01BTC por un café?! ¡Indignante! ;-)
En cuanto a la privacidad, ¿podría crear solo unas pocas direcciones para que actúen como su primera conexión personal para los canales de pago y luego tener los saldos reales que administra contenidos en otras direcciones que recorre? ¿No añadiría esto a la privacidad personal? Por lo tanto, pasaría por sus propios canales de pago cuando gaste, de modo que no se distinga de los demás que usan su canal.
@fredsbend: Siempre eres indistinguible de los demás que usan tu canal, porque nadie sabe más que el salto antes y después de ellos mismos. Sin embargo, los nodos proxy no brindan un beneficio de privacidad por lo que puedo decir. — Me encantaría dar más detalles sobre este tema en una pregunta, si me la haces.
@Murch Todavía estoy leyendo sobre este tema. Me costó bastante entender blockchain, ahora salen con esto. Es probable que pronto surjan preguntas.
@Murch, cuando dice "Sus transacciones no se almacenan en la cadena de bloques por la eternidad " , ¿quiere decir que incluso las transacciones de liquidación no se almacenan permanentemente en la cadena de bloques?
No, solo las transacciones fuera de la cadena en la red Lightning nunca llegan a la cadena de bloques. Cuando se cierra un canal, esto tiene que suceder en una transacción en cadena, por lo que se registra para siempre.

Lightning le permite bloquear monedas entre dos billeteras y luego enviar transacciones especiales entre cada billetera que solo se vuelven "reales" cuando se agregan a la cadena de bloques. Pero no haces eso, porque en cadena te cuesta más tarifas, por lo que sigues actualizando las transacciones entre ellos.

Lightning no solo hace posible enviar transacciones fuera de la cadena de A a B, sino también de A a B a C, etc. Lo que haría posible crear una gran red, donde la mayoría de las transacciones ocurren fuera de la cadena, no necesita para confiar en cualquiera y donde todas las transacciones son instantáneas.

Lightning Network es una capa en la parte superior de Bitcoin Blockchain. Vamos a entrar en más detalle.

Es una tecnología que hace que bitcoin funcione más rápido, escalable y mejore bitcoin de tal manera que Bitcoin podría manejar cientos o miles de transacciones cada segundo, ahora mismo Bitcoin maneja alrededor de siete transacciones por segundo lo cual es muy bajo comparado con Visa y Mastercard que maneja cientos o miles de transacciones por segundo. Bitcoin lightning network es una propuesta que puede ayudar a pasar de siete transacciones por segundo a cientos o miles de transacciones por segundo sin tener una entidad central y sin perder la confianza entre los nodos.

¿Cómo funciona la red Lightning?

Usted y yo trabajamos donde podemos enviarnos bitcoins en un canal que está fuera de la cadena de bloques, por lo que establecemos un canal entre nosotros en la cadena de bloques, comenzamos a comunicarnos entre nosotros y a enviarnos transacciones fuera de la cadena de bloques. Podemos hacer cientos o millones de transacciones de este tipo sin transmitirlas a la cadena de bloques. Cuando creamos este canal que está fuera de la cadena de bloques, podemos realizar cualquier cantidad de transacciones sin sobrecargar toda la red.

Entonces, en su documento técnico, también propusieron esta idea en la que puedo enviar una transacción a otra persona sin crear una conexión directa con esa otra persona. Les explico chicos...

Supongamos que mi amigo y yo nos enviamos transacciones fuera de la cadena de bloques, por lo que puede ser que mi amigo se conecte a otra persona X, por lo que en la red Lightning, es posible enviar fondos de mí a la persona X a través de mi amigo. No necesito tener una conexión directa con la persona X. Realmente es una buena manera de propagar fondos a través de la red sin establecer muchas conexiones directas que también podrían sobrecargar toda la red Lightning.ingrese la descripción de la imagen aquí

Esto es comparable a cómo funciona Internet hoy. Cuando envío un paquete, puede enrutarse a través de muchos nodos diferentes y a los nodos realmente no les importa de dónde viene el paquete y hacia dónde va, solo les importa dónde deben enviarlo a continuación y por lo que la siguiente persona puede enviarlo a otro lugar y finalmente llegaría a su destino final. Es similar a cómo funciona Lightning Network si tengo una conexión con mi amigo y mi amigo tiene una conexión con otra persona. Podría enviar fondos míos a otra persona a través de mi amigo, mi amigo ni siquiera sabría si los fondos están destinados a la persona X o si se supone que la persona X debe enviar a la persona Y.

¿Puedes confiar en esa persona intermedia?

Quiero enviar algunos fondos de mi parte a mi amigo Sachin y quiero enviar esos fondos a Sachin a través de la persona intermedia Shivam, así que tengo un canal mío para Shivam y luego Shivam tiene un canal para Sachin, ahora quiero enviar mis fondos a Sachin. ¿Cómo puedo confiar en Shivam? Puede ser que Shivam tome mis fondos para sí mismo y no envíe nada a Sachin, por lo que esto se maneja criptográficamente y la transacción me será reembolsada si Sachin no recibe mi transacción en un cierto período de tiempo.

¿Problemas en Lightning Network?

Lo peor que podría pasarme en esta red relámpago es que algún intermediario que sea infiel retenga mis fondos durante varios días y, después de que pasen esos días, el protocolo de la red me reembolsará mis fondos. Otro problema con esta red es que las personas pueden hacer muchos canales, pueden abrir y cerrar canales instantáneamente para sobrecargar la red. Para abrir un canal, necesitamos transmitir esta información a la cadena de bloques principal y, por lo tanto, si alguna persona malintencionada intenta abrir y cerrar cientos de canales por segundo, esto realmente podría sobrecargar la cadena de bloques. Están trabajando en eso.