Auch heute ca. vier Jahre nach dessen Einführung, gilt das Lightning Netzwerk (LN) noch immer als Experiment. Für den Einsatz als globaler Payment Layer auf dem Bitcoin-Netzwerk, gilt es noch viele Dinge zu erforschen und einige Probleme zu lösen. Der deutsche Lightning-Entwickler René Pickhardt hat zusammen mit Stefan Richter (bekannt aus dem Honigdachs, Deutschlands ältestem Bitcoin-Podcast) eine neue Methode entdeckt und erforscht, um die Berechnung von Zahlungsrouten zu optimieren. Diese Entdeckung könnte das LN um einiges effizienter und zuverlässiger machen und dadurch einen Schritt näher an die Massentauglichkeit bringen. Ihre bisherigen Forschungsergebnisse veröffentlichten die beiden gestern in einem Arbeitspapier auf dem von der Cornell University betriebenen Dokumentenserver arXiv.org, einer Art Web-Bibliothek für wissenschaftliche Vorab-Publikationen. Wir wollen in diesem Beitrag versuchen das zugegebenermaßen sehr komplexe, hoch mathematische und informationstheoretische Problem bzw. Lösungsverfahren so gut wie möglich in einfachen Worten zusammenfassen. Falls du kein grundlegendes Verständnis davon hast, wie das LN funktioniert, solltest du dir, bevor du weiterliest, unbedingt zuerst folgenden Artikel ansehen:

Blocktrainer - Das Lightning Netzwerk einfach erklärt

Das Ausgangsproblem

Eines der zu lösenden bzw. erforschenden Probleme, die das LN betreffen, ist das effiziente Routing von sogenannten Multipart Payments, also das Senden einer Summe, die zu groß für das Volumen eines einzigen Zahlungskanals bzw. einer einzigen Route ist und deswegen aufgeteilt über mehrere kleinere Kanäle/Routen geschickt wird. Hier ein kleines und stark vereinfachtes Beispiel, in dem wir davon ausgehen, dass jeder Zahlungskanal auf jeder Seite mit maximal einem BTC gefüllt ist.

Situation 1: Bob will einen BTC an Satoshi senden

Da in diesem Fall genügend Liquidität in den jeweiligen Zahlungskanälen verfügbar ist, sucht sich Bob (bzw. dessen Lightning Node) eine geeignete Route und sendet die Zahlung über mehrere Parteien (sogenannte Hops) hinweg zu Satoshi.

Situation 2: Bob will 1,5 BTC an Satoshi senden

Was aber geschieht, wenn Bob nun (ceteris paribus) 1,5 BTC an Satoshi senden möchte, da er zwar genügend Guthaben auf seiner Lightning Node bzw. dem zugehörigen Wallet verfügbar hat, jedoch keiner der Kanäle über ein ausreichendes Volumen verfügt? Hierfür gibt es zwei Möglichkeiten. Entweder die Zahlung schlägt fehl und Bob wird ein Routing-Error angezeigt, da es keine geeignete Route gibt, oder es werden sogenannte Mulitpart-Payments (MPP) verwendet. Mit Hilfe von Multipart-Payments können, wie bereits eingangs erwähnt, größere Summen auf kleinere Teilzahlungen aufgeteilt und so über mehrere Zahlungskanäle mit niedrigerem Volumen verschickt werden.

In unserem Beispiel würde Bob noch eine weitere Route mit jeweils 0,5 BTC verwenden und könnte dadurch in Summe die 1,5 BTC an Satoshi senden.

Bisher suchen die Lightning Nodes nach geeigneten Routen mit möglichst geringen Routing-Gebühren. Das Problem besteht jedoch darin, dass die günstigste Route nicht gleichbedeutend die beste Route beziehungsweise die mit der höchsten Erfolgswahrscheinlichkeit ist. Wie Pickhardt et al. bereits Mitte März in einem Paper darlegten, greifen die Versender bisher aufgrund der Privatsphäre-Eigenschaften von Zahlungskanälen und der damit verbundenen Vertraulichkeit von Kanalsalden auf einen einfachen Versuch-und-Irrtum-Ansatz zurück. Es werden schlichtweg so viele verschiedene (möglichst günstige) Pfade durchprobiert, bis einer erfolgreich ist - oder eben die Zahlung aufgrund zu vieler Versuche ohne eine geeignete Route zu finden fehl schlägt. Eine Zahlung kann nämlich nur dann durchgeführt werden, wenn jeder Kanal entlang des Pfades genügend Volumen verfügbar hat, um sie weiterzuleiten. Da dem Sender die Kanalsalden aber nicht bekannt sind, bleibt ihm nichts anderes übrig als das stumpfe Ausprobieren. Dies macht insbesondere größere LN-Zahlungen natürlich sehr ineffizient, langsam und unzuverlässig.

Pickhardt Payments

An dieser Stelle kommt das Konzept der sogenannten "Pickhardt Payments" ins Spiel. Bei diesem sollen LN-Nodes nicht mehr stur nach der günstigsten Route suchen, sondern zum einen auch die Wahrscheinlichkeit, dass eine Zahlung aufgrund der unbekannten Guthabenverteilung in den Kanälen tatsächlich möglich ist, mit in ihre Routenplanung einbeziehen. Zum anderen, sollen die Sender Nodes auch hinsichtlich des bekannten Mininmum-Cost Flow Problems einen geeigneten Pfad mit möglichst günstigen Gebühren verwenden. Was René Pickhardt und Stefan Richter dementsprechend in ihrer Abhandlung präsentieren, ist ein Algorithmus, um die Wahrscheinlichkeit einer erfolgreichen Zahlung zu erhöhen und gleichzeitig die Gebühren möglichst gering zu halten. Dieser Algorithmus durchläuft mehrere Runden und in jeder neuen Runde bezieht er die Wahrscheinlichkeitsverteilungen und die Informationen aus erfolgreichen und erfolglosen vorherigen Runden mit ein. Die beiden Lightning-Forscher geben in ihrem Paper an, dass in all ihren Experimenten eine einstellige Anzahl an Runden ausreichend war, um Zahlungen nahe am maximalen Guthaben des Absenders erfolgreich durchzuführen. Durch diese Herangehensweise können Zahlungen im Lightning Netzwerk um ein vielfaches zuverlässiger und effizienter zugestellt werden, bei gleichzeitig nahezu vernachlässigbar geringer Gebühr.

"Erste Experimente zeigen, dass unser Ansatz die Größe der Zahlungen, die zuverlässig zugestellt werden können, um mehrere Größenordnungen im Vergleich zum aktuellen Stand der Technik erhöht."

René Pickhardt & Stefan Richter

Da für das genauere Verständnis der Funktionsweise des Algorithmus höhere mathematische und informationstheoretische Kenntnisse notwendig sind, sparen wir euch [und uns :-) ] an dieser Stelle die Details. Wer möchte kann sich gerne direkt das Arbeitspapier durchlesen.

#zerobasefee

Minimum-Cost Flow Probleme lassen sich in anderen Teilbereichen der Mathematik in der Praxis bereits seit geraumer Zeit relativ gut lösen. Pickhardt und Richter stellten während ihrer Forschung jedoch fest, dass das Finden der günstigsten MPP unter Berücksichtigung der aktuellen Gebührenstruktur im LN als ein sogenanntes "NP-schweres Problem" gilt. Die Gebühren im LN setzen sich derzeit nämlich aus einer Grundgebühr ("base fee") und einer Rate, die von dem zu versendenden Betrag abhängig ist ("fee rate"), zusammen. Den beiden Autoren zufolge würde es die Berechnungen deutlich effizienter machen, wenn die Gebührenstruktur von den Nodes so angepasst würde, dass die Grundgebühr auf 0 gesetzt würde beziehungsweise weg fällt und sich dadurch ein lineares Minimum-Cost Flow Problem ergeben würde.

Aus diesem Grund appellieren Pickhardt und Richter an alle Betreiber von Lightning-Nodes dies entsprechend umzusetzen. Schnell entstand daraus bei Twitter der Hashtag #zerobasefee, unter dem Nodebetreiber zeigen können, dass sie bereits mit gutem Beispiel vorangegangen sind und andere dazu aufrufen es ihnen gleich zu tun.

Falls auch du eine eigene Lightning-Node betreibst, möchten wir hiermit dazu aufrufen, dass du dich der Sache anschließt und deine base fee in allen Kanälen auf 0 setzt und ggf. lieber die fee rate etwas nach oben schraubst.

Open Source vs. Proprietäre Lösung

Wie nahezu jeder Forscher der eine bahnbrechende Entdeckung macht stand René Pickhardt (der der ursprüngliche Ideengeber für den nun verfolgten Ansatz war) vor der Entscheidung, ob er seine Ergebnisse möglichst gewinnbringend patentieren lassen oder etwa an eine Firma verkaufen sollte. Dem Gegenüber stand die Entscheidung, es im Sinne des freien und quelloffenen Gedankens des Bitcoin Netzwerks Open Source zur Verfügung zu stellen. Für jemanden, der wie Pickhardt erst relativ spät zu Bitcoin gefunden hat und wie er selbst sagt, entsprechend nicht reich und darüber hinaus gesundheitlich angeschlagen ist, sicherlich keine leichte Entscheidung. Um sich bei der Entscheidungsfindung etwas inspirieren zu lassen, setzte er vor einigen Wochen einen Tweet ab, in dem er die Community befragte, welchen Weg er wohl gehen sollte.

Was würdest du in meiner Situation tun?

  • Nach drei Jahren Arbeit hast du den nachweislich optimalsten Weg gefunden, um Zahlungen im #lightningnetwork abzuwickeln, was zu einem signifikanten Anstieg der Zahlungsgeschwindigkeit und Zuverlässigkeit führt
  • Du bist nicht #Bitcoin-reich
  • Deine Gesundheit ist nicht stabil

Ist das mein #YOLO?

Knapp die Hälfte der über 6000 abgegebenen Stimmen waren der Meinung, dass die Bereitstellung via Open Source der richtige Weg sei. Glücklicherweise (für uns als Community und für Bitcoin im Allgemeinen) tat René Pickhardt dies nun auch. Dieser Entscheidung gebührt großer Respekt und wir möchten an dieser Stelle dazu aufrufen, seine Forschungsarbeit gerne mit einer Spende zu unterstützen.

Falls du noch etwas mehr über das Konzept erfahren möchtest, hör dir am besten die aktuelle Honigdachs-Folge an. In dieser besprechen René und Stefan die Pickhardt Payments zusammen mit Co-Host Friedemann.


Falls du auch Teil des Lightning Netzwerks werden möchtest, aber noch keine eigene Node hast, schau gerne mal bei unserem Partner ShopinBit, dem größten Bitcoin-Store Europas mit über 250.000 Artikeln, vorbei.
Dort gibt es derzeit einen tollen Rabatt auf das RaspiBlitz Kit mit welchem du ideal gerüstet wärst, um deine Lightning-Reise zu starten.