¿Cómo "retirar dinero" de Lightning Network sin cerrar canales?

Estoy trabajando en un sitio de comercio electrónico que acepta pagos relámpago y tenía curiosidad sobre cómo "retirar efectivo" para pagar a los proveedores sin cerrar los canales a los clientes. Planeaba ejecutar dos nodos LN LND y tener dos canales entre ellos. Un nodo para uso personal altamente conectado y otro que se ejecuta en BTCPay Server. Dado que no todos mis proveedores aceptan bitcoin, estaba buscando la mejor manera de poder "retirar" mi bitcoin a dinero fiduciario (cerrando uno de mis canales entre mi nodo personal y mi nodo comercial de BTCPay Server) para pagar a mis proveedores mientras Todavía tenía un canal abierto al mundo a través del cual las personas que no tenían un canal abierto conmigo podían enrutar el pago. En lugar de hacer que mi tienda (nodo comercial del servidor BTCPay) cierre los canales a los clientes para "retirar efectivo" para pagar a los proveedores, Pensé en enviar pagos de LN desde mi nodo de tienda a mi nodo personal y cerrar uno de los dos canales entre mi nodo de tienda y mi nodo personal. Mis pensamientos pueden ser intrincados e innecesarios y agradecería cualquier sugerencia.

Respuestas (4)

Esto será más fácil en el futuro ya que los intercambios implementarán depósitos y retiros a través de LN.

En este momento, si necesita depositar BTC y el intercambio no admite depósitos de LN, me temo que, por ahora, debe cerrar los canales.

Quizás pronto haya una manera de reequilibrar los canales para minimizar la cantidad de cierres necesarios. Básicamente, haga retroceder fondos en los canales de los clientes 1 a 4, para atraer los fondos al canal del cliente 5 y cierre solo el canal del cliente 5.

Puede "salir" usando loop by lightning labs. Le permite convertir fondos fuera de la cadena en fondos dentro de la cadena haciendo un intercambio submarino inverso. Puede verificar las tarifas de antemano y especificar qué canal desea drenar.

Cerrar canales por sí solo no es una solución adecuada para el reequilibrio porque todo lo que hace es cambiar el problema.

Considere el siguiente escenario: tiene un nodo A, que es un escaparate, y un nodo personal B, que es privado. Tienes canales privados iy jentre los dos nodos. Hay algunos canales que tiene abiertos en el frente de su tienda, 1, 2y 3, cada uno de los cuales tiene canales abiertos con x, y, zrespectivamente. Además, su nodo personal tiene canales abiertos con wy v.

Lo usaré =para indicar la capacidad de salida que tiene su nodo comercial y -para indicar la capacidad de entrada.

(x)----|====(1)----|====     ====|----     ====|----(w)
                        \   /    i    \   /
(y)----|====(2)----|==== (A)           (B) ====|----(v)
                        /   \    j    /
(z)----|====(3)----|====     ====|----

Suponiendo que todos los canales tienen una capacidad de 8 ksat arriba y todos están equilibrados de manera uniforme, veamos qué sucede si zse realiza un pago de 4 ksat.

(x)----|====(1)----|====     ====|----     ====|----(w)
                        \   /    i    \   /
(y)----|====(2)----|==== (A)           (B) ====|----(v)
                        /   \    j    / 
(z)|========(3)|========     ====|----                     

Las capacidades de entrada de los canales entre z, 3y su nodo comercial Aahora están agotadas y no podrá recibir pagos a través de él. Para reequilibrar esto, debe realizar un pago a través 3de y z, para recibirlo a través wde o v. Digamos que dividimos esto en dos pagos a través de wy v.

2ksat: A -> 3 -> z -> ... -> w -> B(i)-> A
2ksat: A -> 3 -> z -> ... -> v -> B(i)-> A

(x)----|====(1)----|====     ========|     ======|--(w)
                        \   /    i    \   /
(y)----|====(2)----|==== (A)           (B) ======|--(v)
                        /   \    j    /
(z)----|====(3)----|====     ====|----                     

El canal iahora está agotado, por lo que podemos cerrarlo para cobrar en cadena. Sin embargo, necesitamos algo para reemplazarlo. Necesitamos un nuevo canal k, con la misma capacidad de 8ksat.

(x)----|====(1)----|====     |--------     ======|--(w)
                        \   /    k    \   /
(y)----|====(2)----|==== (A)           (B) ======|--(v)
                        /   \    j    /
(z)----|====(3)----|====     ====|----                             

Tenga en cuenta que en realidad no hemos ganado nada "en cadena" , porque hemos tenido que reutilizar esos fondos para establecer el canal de reemplazo, aunque todavía somos dueños del dinero, está inmovilizado en el canal.

Supongamos que ahora xrealiza un pago de 4ksat, y repetimos el proceso anterior, pero usando jen lugar de icomo el canal con el que vamos a cobrar.

(x)|========(1)|========     |--------     ======|--(w)
                        \   /    k    \   /
(y)----|====(2)----|==== (A)           (B) ======|--(v)
                        /   \    j    / 
(z)----|====(3)----|====     ====|----                     

2ksat: A -> 1 -> x -> ... -> w -> B(j)-> A
2ksat: A -> 1 -> x -> ... -> v -> B(j)-> A

(x)----|====(1)----|====     |--------     ========|(w)
                        \   /    k    \   /
(y)----|====(2)----|==== (A)           (B) ========|(v)
                        /   \    j    /
(z)----|====(3)----|====     ========|                     

Podemos cobrar jy crear len su lugar, pero tenemos el problema que Btenían los canales wy vahora están completamente agotados de la capacidad de entrada. No podremos reequilibrar nada más si yrealiza el mismo pago.

(x)----|====(1)----|====     |--------     ========|(w)
                        \   /    k    \   /
(y)|========(2)|======== (A)           (B) ========|(v)
                        /   \    l    /
(z)----|====(3)----|====     |--------                    

Entonces , a menos que Besté gastando activamente en Lightning Network , a través wde y v, esos canales no serán reutilizables para el reequilibrio. No es posible gastar de Batrás hacia a Através de estos canales, ya que eso agotaría las capacidades de entrada de sus otros canales que tiene abiertos a los clientes.

En la práctica, probablemente tendrá más canales abiertos, y cada nodo enrutará pagos para otras personas, por lo que es posible que tenga algún otro reequilibrio en curso. Es posible que descubra que ciertas rutas se usan con más frecuencia en una dirección que en otra, lo que lo haría ideal para usar como ruta de reequilibrio.

Sin embargo, el objetivo final es eventualmente no tener que retirar dinero, sino realizar sus compras directamente en la red. Del mismo modo, debería poder recibir pagos a través de la red, y el reequilibrio será un problema menor a medida que aumente la cantidad de canales y la liquidez.

Hay una serie de servicios que se pueden utilizar para "recargar" canales, a cambio de pagos directos en cadena. Supongo que también hay un mercado para lo contrario de dicho servicio: descargar canales de pago a cambio del pago en cadena. Ha habido algunas propuestas para que los mercados de liquidez se desarrollen directamente en la capa Lightning Network para que parte de esto pueda automatizarse en el futuro.

Sin embargo, quizás lo correcto sea no intentar reequilibrar a menos que sea absolutamente necesario para usted. En el escenario anterior, cuando zse pagó por primera vez, en lugar de intentar reequilibrar el canal Aabierto con 3, podría simplemente cerrar este canal y retirar dinero. Si zquiere hacerle otro pago, debe hacerlo a través 1de o 2, o algún otro canal que pueda crearse con capacidad entrante en su dirección. El problema entonces no es tuyo, sino zde nosotros. Si usted es un nodo de enrutamiento útil, entonces la gente probablemente querrá abrir más canales con usted también con capacidad de entrada.

1, 2y 3no son necesariamente sus clientes. Tus clientes son x, yy z, y los canales directos que tienes abiertos solo facilitan esos pagos.

Puede usar un intercambio habilitado para rayos para "intercambiar" su BTC bloqueado en canales de rayos a BTC en cadena. Luego, puede usar cualquier intercambio habitual para vender su BTC en cadena por una moneda fiduciaria preferida.

Un par de intercambios habilitados para rayos de esta publicación son zigzag.io, sideshift.ai, southxchange.com, btcduke.com y coinplaza.it.

Sin embargo, investigue por su cuenta antes de utilizarlos: todos los servicios son nuevos y requieren su confianza durante el tiempo que retengan sus fondos. También tenga en cuenta que las tarifas pueden ser relativamente altas.