Ich bin daran interessiert, im Detail zu verstehen, wie das Lightning-Netzwerk über Tor funktioniert. Implementierungen wie lnd, c-lightning usw. bieten eine Erweiterung, die es ermöglicht, TOR mit Lightning auszuführen. Ich würde gerne verstehen, wie das Ausführen von Lightning mit TOR in der Praxis funktioniert. Insbesondere interessiere ich mich für folgende Fälle:
1) Ich bin der Absender, aber ich habe Tor in meinem Knoten aktiviert. Wie sieht das Senden an einen Knoten R außerhalb des Tor-Netzwerks aus?
2) Ich bin der Empfängerknoten und gebe keine IP-Adresse an, sondern eine Onion-Adresse. Wie erhalte ich Zahlungen?
3) Der Senderknoten S ist ein regulärer LN-Knoten ohne jegliche Tor-Verbindungen. Als Absender möchte ich eine Zahlung an den Knoten R senden und mein LN-Knoten findet den besten Weg, um meine Zahlung an R zu senden Die Knoten im ausgewählten Pfad sind zufällig Zwiebeln oder haben Zugriff auf Tor? Und wenn ja, wie sieht das Routing dann aus?
Das Ausführen von Lightning Node über TOR unterscheidet sich nicht vom Ausführen über eine normale IP-Verbindung. Das Versenden der Zahlung, das Abwickeln des Zahlungseingangs, das Versenden von Fehlermeldungen usw. würde in beiden Fällen auf die gleiche Weise erfolgen. Der einzige Unterschied besteht darin, dass die oben genannten Nachrichten, die Sie an Ihren Peer senden, jetzt über das TOR-Netzwerk und nicht über ein direktes IP-Paket erfolgen.
Wenn Sie nur TOR ohne öffentliche IP-Adresse verwenden, müssen Sie, um Ihre Zahlung an einen Knoten weiterzuleiten, der nur eine öffentliche IP-Adresse verwendet, einen Knoten in Ihrem Pfad zum Empfänger haben, der (1) TOR und öffentliche IP-Adresse ausführt oder (2) oder mit öffentlicher IP und kann sich über den Socks5-Proxy mit TOR-Knoten verbinden. Wenn Sie diesen Knoten nicht dazwischen haben, können Sie die Zahlung nicht senden.
Wenn der Tor-Dienst startet, erstellt er einen Socks5-Proxy, der standardmäßig die Adresse 127.0.0.1:9050 hat. Wenn ein Knoten mit öffentlicher IP mit der Option gestartet wird --proxy=127.0.0.1:9050
(oder sie in die Konfigurationsdatei aufnimmt), kann sich der Knoten mit Knoten verbinden, auf denen TOR läuft (wie Ihrer).
Wenn Sie TOR ausführen und eine öffentliche IP-Adresse haben, können Sie sich direkt mit Knoten verbinden, auf denen Tor ausgeführt wird, oder mit öffentlichen IP-Knoten über den Socken5-Proxy des Tor-Dienstes.
Ich bin der Absender, aber ich habe TOR in meinem Knoten aktiviert. Wie sieht das Senden an einen Knoten R außerhalb des TOR-Netzwerks aus?
Das Netzwerk-Routing erfolgt gemäß dem, was ich oben erwähnt habe. Die Pfadberechnung zum Senden der Zahlung an den Empfänger erfolgt jedoch auf Ihrem Knoten, sodass es nicht darauf ankommt, welches Netzwerk-Routing Sie verwenden. Sie würden das Onion-Routing-Paket mit dem Pfad zum Empfänger erstellen (die Kanäle, die Sie zum Senden der Zahlung verwenden) und versuchen, diese Onion und die über die Nachricht payment_hash
an Ihren Peer zu senden. update_add_htlc
Diese Nachricht wird dann über TOR-Knoten geleitet, bevor sie Ihren Peer erreicht, anstatt Ihren Peer direkt zu erreichen.
Ich bin der Empfängerknoten und gebe keine IP-Adresse, sondern eine Onion-Adresse bekannt. Wie erhalte ich Zahlungen?
Sie können Zahlungen direkt von Knoten erhalten, auf denen TOR ausgeführt wird. Wenn Sie Zahlungen von Knoten erhalten möchten, die nur eine öffentliche IP haben, müssen Sie einen Knoten in Ihrem Pfad haben, für den die Proxy-Option festgelegt ist, damit er sich über den Socks5-Proxy mit den TOR-Knoten verbinden kann.
Der Senderknoten S ist ein regulärer LN-Knoten ohne Tor-Verbindungen. Als Absender möchte ich eine Zahlung an den Knoten R senden und mein LN-Knoten findet den besten Weg, um meine Zahlung an R zu senden Die Knoten im ausgewählten Pfad sind zufällig Zwiebeln oder haben Zugriff auf Tor? Und wenn ja, wie sieht das Routing dann aus?
Angenommen, der Weg von S nach R sieht so aus: S -> T -> U -> V -> R
. Anzahl der Fälle, die auftreten können:
AnnMP
Ugam Kamat
node_announcement
Nachricht an. Sie können einfach den Befehl ausführenlightning-cli listnodes <node_id>
und prüfen, welches Netzwerk dieser Knoten unterstützt.Ugam Kamat
AnnMP
Ugam Kamat
03a503d8e30f2ff407096d235b5db63b4fcf3f89a653acb6f43d3fc492a7674019
node abfragen und feststellen, dass er drei Arten von Adressen ausführt: ipv4, ipv6 und torv3.chpio
chpio
Ugam Kamat
Ugam Kamat