Estoy pensando en un escenario en el que los usuarios de dispositivos móviles que usan un cliente LN rara vez estarán en línea.
Digamos que Alice abre un canal con Bob y hacen 10 transacciones LN. Después de que Alice haya recibido el 10, se desconecta por más tiempo que el tiempo de vida del canal.
Entonces, si el canal se configuró para que dure 3 días, estará fuera de línea durante, por ejemplo, 5 días.
Mi pregunta es, cuando Alice vuelve a estar en línea, ¿cómo sabe si Bob se comprometió con la cadena de bloques el día 10 y no con una transacción anterior (que es a favor de Bob).
Entiendo que si Alice estuviera en línea, podría verificar este comportamiento por sí misma y comprometer fácilmente el 10 para obtener su dinero. Pero el punto clave aquí es que ella está fuera de línea más tiempo que el tiempo de vida del canal .
¿Hay una solución a esto en LN? Porque, francamente, la mayoría de los usuarios no tendrán un nodo que esté en línea las 24 horas del día, los 7 días de la semana. Y además, no quiero confiar en un tercero para realizar la décima transacción en el momento adecuado, ¿y si no lo hacen? ¿Quién puede decir que también actuarán con honestidad y no cometerán una transacción anterior desde el canal?
La red lightning se compone de canales de pago bidireccionales entre dos nodos. Esto significa que cualquiera de esos nodos debería poder inicializar una transacción en cualquier momento. Estas transacciones requieren que ambas partes participen activamente en la actualización de los contratos inteligentes que mantienen vivo el canal. Si una de las partes no responde, esencialmente está violando el contrato inteligente y está perdiendo el derecho a reclamar cualquiera de los fondos en el canal.
Los clientes que no responden son una responsabilidad para cualquiera que abra un canal. Significa que su bitcoin puede estar inmovilizado en el canal hasta el período de tiempo de espera. Ese bitcoin generalmente se colocaba allí para realizar un pago (que ahora se retrasa) o para ganar tarifas de red por ser un centro de transacciones de otras personas. Un nodo que no responde significa que el canal está desperdiciado. Es similar a un ataque de denegación de servicio, excepto que está inmovilizando bitcoin en lugar de ancho de banda.
Para ilustrar cómo funciona esto, considere que Alice y Bob contribuyeron cada uno con 1 BTC a un canal compartido. Todo el canal ahora tiene un total de 2 BTC, pero tiene un límite en cada dirección. Debido a que Alice solo puso 1 BTC, lo máximo que fluirá de Alice a Bob es 1 BTC. Esto es lo mismo para las transacciones totales de Bob a Alice.
Digamos que ha fluido más dinero de Alice a Bob durante la vida útil del canal, de modo que si se cerrara en este momento, Alice obtendría 0.5 BTC y Bob obtendría 1.5 BTC (excluyendo las tarifas por simplicidad). Ahora digamos que Bob de repente se desconectó, dejando el canal inservible.
Debido a cómo funcionan los contratos inteligentes, Alice tendrá una transacción de bitcoin válida anterior, que fue firmada por Bob, y podría cerrar el canal, dejando a Alice con más de los 0.5 BTC que se le deben. Alice puede transmitir esta transacción a la red de Bitcoin y, después de un período de tiempo de espera, obtendrá el dinero que le corresponde a Bob. Lo único que evita esto es que Bob verá la transacción propagarse en la red y puede enviar la transacción final que tiene (ya firmada por Alice) para obtener su pago completo antes de que la transacción de Alice sea válida. Si Bob no presta atención, Alice puede robar lo que le pertenece por derecho.
La penalización de los nodos que no responden es una característica de Lightning Network, destinada a mantenerla funcional. Al dejar el canal desatendido, Bob le está haciendo un flaco favor a Alice. Hacer que ese comportamiento sea financieramente desastroso es lo que hace que el sistema funcione en primer lugar.
Sí, debes estar en línea. La solución es que Alice tenga un servidor propio (sin necesidad de confiar en un tercero), ya sea en casa o en la nube (aws, azure), que llevaría un registro de todas las transacciones de su canal y monitorearía el btc red 24/7 en caso de que la otra parte cierre el canal. De esta manera, puede desconectarse y no preocuparse porque el servidor hará el seguimiento por ella. De ninguna manera puede hacer eso solo con su celular (en mi humilde opinión).
luca mateis
Jestin
luca mateis
Jestin