Wie kann ich aus dem Lightning-Netzwerk „auszahlen“, ohne Kanäle zu schließen?

Ich arbeite an einer E-Commerce-Website, die Blitzzahlungen akzeptiert, und war neugierig, wie man „auszahlen“ kann, um Anbieter zu bezahlen, ohne Kanäle zu Kunden zu schließen. Ich hatte vor, zwei LN-LND-Knoten zu betreiben und zwei Kanäle zwischen ihnen zu haben. Ein Knoten für den persönlichen Gebrauch, der hochgradig verbunden ist, und einer, der auf dem BTCPay-Server ausgeführt wird. Da nicht alle meine Anbieter Bitcoin akzeptieren, arbeitete ich an dem besten Weg, um meine Bitcoin in Fiat „auszahlen“ zu können (indem ich einen meiner Kanäle zwischen meinem persönlichen Knoten und meinem BTCPay Server-Geschäftsknoten schloss), um meine Verkäufer währenddessen zu bezahlen immer noch einen offenen Kanal zur Welt zu haben, durch den Personen, die keinen offenen Kanal mit mir hatten, Zahlungen leiten konnten. Anstatt dass mein Geschäft (BTCPay Server-Geschäftsknoten) Kanäle zu Kunden schließt, um „Auszahlungen“ zu leisten, um Anbieter zu bezahlen, Ich dachte, ich würde LN-Zahlungen von meinem Geschäftsknoten zu meinem persönlichen Knoten senden und einen der beiden Kanäle zwischen meinem Geschäftsknoten und meinem persönlichen Knoten schließen. Meine Gedanken mögen verworren und unnötig sein, und ich würde mich über Vorschläge freuen.

Antworten (4)

Dies wird in Zukunft einfacher, da die Börsen Ein- und Auszahlungen über LN implementieren werden.

Wenn Sie zu diesem Zeitpunkt BTC einzahlen müssen und die Börse keine LN-Einzahlungen unterstützt, fürchte ich, dass Sie vorerst mit dem Schließen von Kanälen festsitzen.

Vielleicht gibt es bald eine Möglichkeit, die Kanäle neu auszubalancieren, um die Anzahl der erforderlichen Schließungen zu minimieren. Schieben Sie grundsätzlich Gelder auf den Kanälen von Kunden 1-4 zurück, um die Gelder auf den Kanal von Kunde 5 zu ziehen, und schließen Sie nur den einen Kanal von Kunde 5.

Sie können mit Loop by Lightning Labs "herausschleifen" . Es ermöglicht Ihnen, Offchain-Gelder in Onchain-Gelder umzuwandeln, indem Sie einen umgekehrten U-Boot-Swap durchführen. Sie können die Gebühren vorher überprüfen und angeben, welchen Kanal Sie entleeren möchten.

Das Schließen von Kanälen allein ist keine angemessene Lösung für das Rebalancing, da es lediglich das Problem verschiebt.

Stellen Sie sich das folgende Szenario vor: Sie haben einen Knoten A, der ein Schaufenster ist, und einen persönlichen Knoten B, der privat ist. Sie haben private Kanäle iund jzwischen den beiden Knoten. Es gibt einige Kanäle , die Sie auf Ihrer Ladenfront geöffnet haben, 1, 2, und 3, von denen jeder Kanäle mit , geöffnet xhat . Außerdem hat Ihr persönlicher Knoten Kanäle, die mit und geöffnet sind .yzwv

Ich werde verwenden =, um die ausgehende Kapazität Ihres Händlerknotens und -die eingehende Kapazität anzugeben.

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

Angenommen, alle Kanäle haben eine Kapazität von 8 ksat und sind alle gleichmäßig ausbalanciert. Mal sehen, was passiert, wenn zeine Zahlung von 4 ksat erfolgt.

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

Die eingehenden Kapazitäten der Kanäle zwischen z, 3und Ihrem Merchant Node Asind nun erschöpft und Sie können darüber keine Zahlungen empfangen. Um dies wieder auszugleichen, müssen Sie eine Zahlung über 3und vornehmen, die Sie über oder zerhalten . Nehmen wir an, wir teilen dies in zwei Zahlungen sowohl über als auch auf .wvwv

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)----|====     ====|----                     

Der Kanal iist jetzt erschöpft, sodass wir ihn schließen können, um ihn über die Kette auszuzahlen. Wir brauchen jedoch etwas, um es zu ersetzen. Wir brauchen einen neuen Kanal kmit der gleichen Kapazität von 8ksat.

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

Beachten Sie, dass wir eigentlich nichts „on-chain“ gewonnen haben , weil wir diese Gelder wiederverwenden mussten, um den Ersatzkanal einzurichten, obwohl wir das Geld immer noch besitzen, es ist im Kanal gebunden.

Nehmen wir an, dass jetzt xeine Zahlung von 4ksat erfolgt, und wir wiederholen den obigen Vorgang, verwenden jedoch janstelle von iden Kanal, mit dem wir auszahlen werden.

(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)----|====     ========|                     

Wir können auszahlen jund lan seiner Stelle erstellen, aber wir haben das Problem, dass die Kanäle Bmit eingehender Kapazität vollständig erschöpft waren w. vWir können nichts anderes neu ausgleichen, wenn ydieselbe Zahlung erfolgt.

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

WennB Sie also nicht aktiv in das Lightning-Netzwerk , durch wund investierenv , werden diese Kanäle nicht für die Neuausrichtung wiederverwendbar sein. BEs ist nicht möglich, von hinten bis über diese Kanäle zu bezahlen A, da dies die Inbound-Kapazitäten seiner anderen Kanäle erschöpfen würde, die es für Kunden offen hat.

In der Praxis werden Sie wahrscheinlich mehr Kanäle offen haben und jeder Knoten wird Zahlungen für andere Personen weiterleiten, sodass Sie möglicherweise eine andere Neuausrichtung durchführen. Sie könnten feststellen, dass bestimmte Pfade häufiger in eine Richtung als in die andere verwendet werden, was sie ideal für die Verwendung als Ausgleichspfad machen würde.

Das Endziel ist jedoch, keine Auszahlungen vornehmen zu müssen, sondern Ihre Einkäufe direkt im Netzwerk zu tätigen. Ebenso sollten Sie in der Lage sein, über das Netzwerk bezahlt zu werden, und das Rebalancing wird weniger problematisch, wenn die Anzahl der Kanäle zunimmt und die Liquidität zunimmt.

Es gibt eine Reihe von Diensten, mit denen Kanäle gegen direkte On-Chain-Zahlungen „aufgefüllt“ werden können. Ich denke, es gibt auch einen Markt für das Gegenteil eines solchen Dienstes – die Auslagerung von Zahlungskanälen im Gegenzug für die On-Chain-Zahlung. Es gab einige Vorschläge für Liquiditätsmärkte, die direkt auf der Ebene des Lightning-Netzwerks entwickelt werden sollen, damit einiges davon in Zukunft automatisiert werden kann.

Vielleicht ist es das Richtige, nicht zu versuchen, das Gleichgewicht wieder herzustellen, es sei denn, dies ist für Sie selbst absolut notwendig. Im obigen Szenario könnten Sie bei der zersten Zahlung, anstatt zu versuchen, den Aoffenen Kanal mit neu auszugleichen 3, diesen Kanal einfach schließen und eine Auszahlung vornehmen. Wenn er eine weitere Zahlung an Sie leisten möchte, muss er dies entweder über oder ztun , oder über einen anderen Kanal, der möglicherweise mit eingehender Kapazität in Ihre Richtung erstellt wird. Das Problem liegt dann nicht bei Ihnen, sondern bei uns. Wenn Sie ein nützlicher Routing-Knoten sind, werden die Leute wahrscheinlich weitere Kanäle mit Ihnen öffnen wollen, die auch eingehende Kapazitäten für Sie haben.12z

1, 2, und 3sind nicht unbedingt Ihre Kunden. Ihre Kunden sind x, yund z, und die direkten Kanäle, die Sie offen haben, erleichtern diese Zahlungen.

Sie können eine Lightning-fähige Börse verwenden, um Ihre BTC, die in Lightning-Kanälen gesperrt sind, in On-Chain-BTC zu „tauschen“. Danach können Sie jede übliche Börse verwenden, um Ihre On-Chain-BTC für eine bevorzugte Fiat-Währung zu verkaufen.

Ein paar Lightning-fähige Börsen von diesem Beitrag sind zigzag.io, sideshift.ai, southxchange.com, btcduke.com und coinplaza.it.

Bitte recherchieren Sie jedoch selbst, bevor Sie diese verwenden: Die Dienste sind alle neu und erfordern Ihr Vertrauen für die Zeit, in der sie Ihre Gelder halten. Beachten Sie auch, dass die Gebühren relativ hoch sein können.