Estoy interesado en comprender en detalle cómo funciona la red lightning sobre Tor. Las implementaciones como lnd, c-lightning, etc. ofrecen una extensión que permite ejecutar TOR con Lightning. Me gustaría entender cómo funciona en la práctica la ejecución de Lightning con TOR. En particular me interesan los siguientes casos:
1) Soy el remitente, pero habilité Tor en mi nodo. ¿Cómo se ve el envío a un nodo R fuera de la red Tor?
2) Soy el nodo receptor y no anuncio una dirección IP, sino una dirección cebolla. ¿Cómo recibo los pagos?
3) El nodo emisor S es un nodo LN normal, sin conexiones Tor. Como remitente, quiero enviar un pago al nodo R y mi nodo LN encuentra la mejor ruta para enviar mi pago a R. ¿Es posible que esta ruta en cualquier salto pase por Tor o pase por el nodo cebolla, porque cualquiera de ¿Los nodos en la ruta seleccionada son cebolla o tienen acceso a Tor? Y si es así, ¿cómo se ve la ruta entonces?
Ejecutar Lightning Node sobre TOR no es diferente a ejecutarlo sobre una conexión IP normal. Enviar el pago, cumplir con el pago entrante, enviar mensajes de error, etc. ocurriría exactamente de la misma manera en ambos casos. La única diferencia es que los mensajes anteriores que envía a su compañero ahora se transmitirán a través de la red TOR en lugar de un paquete de IP directo.
Si está utilizando solo TOR sin ninguna dirección IP pública, entonces para enrutar su pago a un nodo que usa solo una dirección IP pública, necesitará tener un nodo en su ruta hacia el receptor que esté (1) ejecutando TOR y una IP pública o (2) o ejecutando una IP pública y puede conectarse a los nodos TOR usando el proxy socks5. Si no tiene este nodo en el medio, no podrá enviar el pago.
Cuando se inicia el servicio Tor, crea un proxy socks5 que está por defecto en la dirección 127.0.0.1:9050. Si un nodo con IP pública se inicia con la opción --proxy=127.0.0.1:9050
(o se incluye en el archivo de configuración), el nodo podrá conectarse a nodos que ejecuten TOR (como el suyo).
Si está ejecutando TOR y tiene una dirección IP pública, puede conectarse directamente con los nodos que ejecutan tor o los nodos de IP pública a través del proxy del servicio tor socks5.
Soy el remitente, pero habilité TOR en mi nodo. ¿Cómo se ve el envío a un nodo R fuera de la red TOR?
El enrutamiento de la red ocurre de acuerdo con lo que mencioné anteriormente. Sin embargo, el cálculo de la ruta para enviar el pago al receptor ocurre en su nodo, por lo que no implica qué enrutamiento de red está utilizando. Construiría el paquete de enrutamiento de la cebolla con la ruta al receptor (los canales que usará para enviar el pago) e intentaría enviar esta cebolla y la payment_hash
a su compañero a través del update_add_htlc
mensaje. Este mensaje luego pasará por los nodos TOR antes de llegar a su par, en lugar de llegar directamente a su par.
Soy el nodo receptor y no anuncio una dirección IP, sino una dirección de cebolla. ¿Cómo recibo los pagos?
Puede recibir pagos directamente de los nodos que ejecutan TOR. Si desea recibir pagos de nodos que solo tienen IP pública, debe tener un nodo en su ruta que tenga configurada la opción de proxy para que pueda conectarse a los nodos TOR a través del proxy socks5.
El nodo emisor S es un nodo LN normal, sin conexiones Tor. Como remitente, quiero enviar un pago al nodo R y mi nodo LN encuentra la mejor ruta para enviar mi pago a R. ¿Es posible que esta ruta en cualquier salto pase por Tor o pase por el nodo cebolla, porque cualquiera de ¿Los nodos en la ruta seleccionada son cebolla o tienen acceso a Tor? Y si es así, ¿cómo se ve la ruta entonces?
Suponga que el camino de S a R se ve así: S -> T -> U -> V -> R
. Número de casos pueden surgir:
annmp
Ugam kamat
node_announcement
mensaje. Simplemente puede ejecutar el comandolightning-cli listnodes <node_id>
y verificar qué red admite ese nodo.Ugam kamat
annmp
Ugam kamat
03a503d8e30f2ff407096d235b5db63b4fcf3f89a653acb6f43d3fc492a7674019
el nodo y descubrir que ejecuta tres tipos de direcciones: ipv4, ipv6 y torv3.chpio
chpio
Ugam kamat
Ugam kamat