Red Lightning y clientes ligeros

¿Cómo manejará Lightning Network a los clientes ligeros?

¿Entiendo correctamente que abrir un canal de pago requiere escribir en la cadena de bloques para protegerse contra el doble gasto? La integridad está protegida por la penalización de perder todos los bitcoins en el canal si se escribe una transacción más antigua en la cadena de bloques que la que hace la contraparte.

Si tengo un amigo en quien confío y le abro un canal de pago, puedo permitirme que mi bitcoin invertido en el canal se bloquee mientras él/ella está desconectado.

Si pierdo la conexión con un nodo "anónimo" que encontré automáticamente en la red, no sabré si alguna vez volverá a estar en línea. Por lo tanto, me gustaría recuperar mis bitcoins invertidos en ese canal. Por lo tanto, gravar la cadena de bloques e incurrir en tarifas de transacción. (En el peor de los casos, un grupo de personas quiere meterse conmigo y crear de forma anónima una gran cantidad de canales de pago inactivos. Claro que solo vincularán tantos bitcoins para mí como se vinculan colectivamente. Pero a menos que alguien ya haya encontrado una manera de mitigar esto, es posible que no desee ser un comerciante que vende banderas quemables en un mundo con la red Lightning).

Si entiendo esto correctamente, ¿no dará lugar a la centralización? Si quiero pagar con Lightning Network desde mi celular, necesitaría usar un nodo de Lightning Network completo (siempre en línea) o tener canales de pago preexistentes a nodos que confíen en mí. (amigos, mi banco, nodo completo en mi bodega, etc.)

¿Es esto un problema real? ¿Alguien ha encontrado una manera de mitigarlo?

Gracias. Parece que mi configuración de privacidad agresiva en Firefox dividió mis cuentas en dos durante el proceso de registro (ID 38776 y 38777). Ahora están combinados y puedo responder correctamente.

Respuestas (1)

¿Cómo manejará Lightning Network a los clientes ligeros?

La mayoría de los pasos durante el proceso de pago en un canal LN en realidad no requieren un conocimiento completo de la cadena de bloques o incluso las transacciones no confirmadas (mempool). Esto se debe a que las transacciones involucradas tratan con scripts multigrado 2 de 2, donde ambas partes deben firmar cada transacción para que sea válida, de modo que ambos puedan estar al tanto de todas las transacciones relevantes para el canal que comparten sin monitorear el cadena de bloques.

La excepción es para la mediación de disputas. Si Alice intenta transmitir una versión anterior de una transacción de compromiso, alguien debe ver esa transacción para tomar la parte de los fondos de Alice. Sin embargo, este es un aspecto que se puede subcontratar sin confianza. Incluso se puede incentivar con una pequeña tarifa.

¿Entiendo correctamente que abrir un canal de pago requiere escribir en la cadena de bloques para protegerse contra el doble gasto?

Primero establece un reembolso de la transacción de financiación, luego transmite la transacción de financiación que debe extraerse en la cadena de bloques antes de que los pagos se puedan realizar en el canal de forma segura.

La integridad está protegida por la penalización de perder todos los bitcoins en el canal si se escribe una transacción más antigua en la cadena de bloques que la que hace la contraparte.

Exactamente, el canal de pago está diseñado de tal manera que no se pueden transmitir estados anteriores del canal. Técnicamente, se pueden transmitir, la penalización por hacerlo es simplemente perder toda su parte de los fondos en el canal, por lo que ninguna de las partes transmitirá estados anteriores del canal.

Si tengo un amigo en quien confío y le abro un canal de pago, puedo permitirme que mi bitcoin invertido en el canal se bloquee mientras él/ella está desconectado.

No se ha descubierto mucho en esta área, pero supongo que los consumidores típicos no abrirían muchos canales con personas que pueden estar desconectadas con frecuencia. Un consumidor puede abrir un canal con una empresa que frecuenta y que tiene servidores configurados para funcionar con un tiempo de inactividad insignificante. Luego, los consumidores pueden pagarse entre sí a través de esos negocios u otros nodos confiables.

Si pierdo la conexión con un nodo "anónimo" que encontré automáticamente en la red, no sabré si alguna vez volverá a estar en línea. Por lo tanto, me gustaría recuperar mis bitcoins invertidos en ese canal. Por lo tanto, gravar la cadena de bloques e incurrir en tarifas de transacción. (En el peor de los casos, un grupo de personas quiere meterse conmigo y crear de forma anónima una gran cantidad de canales de pago inactivos. Claro que solo vincularán tantos bitcoins para mí como se vinculan colectivamente. Pero a menos que alguien ya haya encontrado una manera de mitigar esto, es posible que no desee ser un comerciante que vende banderas quemables en un mundo con la red Lightning).

Creo que esencialmente has dado con la razón por la que no quieres simplemente abrir un montón de canales con varios nodos anónimos. Pueden dejar de responder y es posible que deba esperar un día o al menos unas horas para sacar sus fondos del canal, además de pagar las tarifas de transacción. A los comerciantes aún no les importaría conectarse con muchos consumidores, probablemente no estarían tratando de enrutar los pagos a través de los consumidores.

Debo señalar que los canales de pago no tienen que ser financiados por ambas partes. Un canal que abre con un comerciante puede hacer que usted ingrese 1 bitcoin y que él ingrese 0 bitcoins. Entonces solo usted puede pagar al comerciante, pero el comerciante probablemente no intentará enrutar los pagos a través de usted (un consumidor que probablemente esté desconectado el 99% del tiempo), por lo que está bien para ellos.

Si entiendo esto correctamente, ¿no dará lugar a la centralización? Si quiero pagar con Lightning Network desde mi celular, necesitaría usar un nodo de Lightning Network completo (siempre en línea) o tener canales de pago preexistentes a nodos que confíen en mí. (amigos, mi banco, nodo completo en mi bodega, etc.)

La dificultad de ejecutar un nodo siempre en línea sería tan baja que probablemente habría mucha competencia. Los comerciantes definitivamente estarían en una ventaja. Así es como predigo que se formarían los canales, a través de los comerciantes, y los comerciantes actuarían como intermediarios.

¿Es esto un problema real? ¿Alguien ha encontrado una manera de mitigarlo?

Incluso si la red se vuelve completamente centralizada en torno a una pequeña minoría de nodos, esos nodos aún no pueden hacer mucho daño. Si uno o dos no responden, los pagos simplemente se enrutarán a través de otros nodos. Como dije antes, la barrera de entrada para ejecutar un nodo Lightning debería ser bastante baja, por lo que es probable que haya una buena cantidad de competencia.

Excelente respuesta StephenM347. Ambos aliviaron algunos temores que tenía y aumentaron mi comprensión de la red Lightning.
@Hampus Me alegra escuchar eso :)