Wie kann Wallet-Software automatisches Channel-Management für Lightning Network implementieren?

Wenn ich eine Desktop-Bitcoin-Wallet mit Lightning-Unterstützung baue und nicht möchte, dass sich der Benutzer um die Kanalverwaltung kümmern muss, wie kann ich das erreichen?

Ich habe die Autopilot-Lösungen für lnd und c-lightning gesehen.

Ich experimentiere gerade damit, lndweil es einfach für Windows, macOS und Linux zu kompilieren ist. Aber der Autopilot von lnd scheint noch nicht ausgereift genug zu sein. Und es ist nicht gut dokumentiert. Ich weiß also nicht, ob ich versuchen soll, es zu verwenden?

Wie gut funktioniert der Autopilot von C-Lightning? Nun, da c-lightning in C und sein Autopilot in Python ist, wird es mir schwer fallen, sie in meine App aufzunehmen.

Daher frage ich mich, ob es vielleicht eine einfache vorübergehende Problemumgehung gibt. Was wäre zum Beispiel, wenn ich eine Liste beliebter Knoten hartkodiere und die App eine Verbindung zu diesen herstelle? Funktioniert das?

Antworten (1)

Ich rate dringend von einer festen Liste von Knoten ab. Dies könnte irgendwann veraltet sein. Eine bessere Lösung könnte sein, dass Sie den Autopiloten auf einem Server ausführen und die Ergebnisse über eine API an den Benutzer liefern. Dies wäre natürlich eine vertrauenswürdige Lösung. Aber die lib_autopilot.py, die das Clightning-Autopilot-Plugin unterstützt, ist eine eigenständige Bibliothek, die einfach in einen kleinen Webserver (oder jede serverseitige Anwendung) eingebunden werden kann, anstatt als Clightning-Plugin auf der Client-Seite verwendet zu werden. Außerdem ermöglicht es viel mehr Konfiguration und Feinabstimmung als das Clightning-Plugin.

Die Ausführung als Server kann tatsächlich sinnvoll sein, da die Berechnungen, die zur Vorbereitung des Autopiloten erforderlich sind, ziemlich umfangreich und speicherintensiv sind und bei einem größeren Lightning-Netzwerk auf dem Computer eines Clients möglicherweise nicht so gut sind. Sobald diese Berechnungen abgeschlossen sind, können die Ergebnisse verwendet werden, um den Autopiloten mehrmals zu relativ geringen Kosten auszuführen, was ihn zum perfekten Kandidaten für eine serverseitige Anwendung macht.

Davon abgesehen sind die Autopiloten experimentelle Funktionen. Als Autor von lib_autopilot.py freue ich mich, dass Sie zustimmen, dass die c Lightning-Lösung ausgereifter sein könnte als die lnd-Version. Aber ich möchte auch betonen, dass ich mit meinem erweiterten Wissen über Wegfindung und Routing, das ich jetzt im Vergleich zu vor einem Jahr habe, heutzutage einen ganz anderen Autopiloten entwickeln würde.

Bearbeiten: Entschuldigung, dass Sie gefragt haben, wie der c Lightning-Autopilot funktioniert. Es gibt eine Präsentation, die es mit lnd https://youtu.be/N7rlHCnaBf8 vergleicht und einige der Herausforderungen erklärt. Wieder ist es ein Jahr alt - es hat sich also etwas geändert, was über Autopiloten gesagt werden sollte, aber es ist trotzdem ein guter Anfang