Website-Icon BitcoinBlog.de – das Blog für Bitcoin und andere virtuelle Währungen

Führt das Lightning Netzwerk zu zentralisierten Hubs? Ein angeblicher mathematischer Beweis

Kugelblitz. Bild von de Grasi via flickr.com. Lizenz: Creative Commons

Derzeit erregt ein Blogpost Aufmerksamkeit, das behauptet, es sei mathematisch beweisbar, dass das Lightning Netzwerk zu zentralisierten Hubs führt. Ist was dran an der These – und, viel wichtiger: Warum, zum Teufel, ist es überhaupt relevant? Warum muss man um Lightning streiten?

Viele sehen im Lighting Netzwerk das Versprechen, Bitcoin nahezu endlos zu skalieren, ohne die Dezentralität des Netzwerks zu gefährden. Die Blöcke können so klein bleiben, wie sie derzeit sind, und Transaktionen sausen in Echtzeit durch das Netzwerk, ohne die Blockchain mit Daten zu belasten. Wir haben das Lightning Netzwerk bereits in zwei durchaus begeisterten Artikeln vorgestellt (wie die Payment Channels aufgebaut werden und wie daraus das Netzwerk entsteht). Nun wird es Zeit, auch die Kritik am Lightning Netzwerk aufzugreifen.

Ein Autor namens Jonald Fyookball schreibt auf Medium, es gebe einen mathematischen Beweis, dass Lightning „keine dezentrale Bitcoin Scaling Lösung“ sein kann. Das Problem, das Fyookball aufgreift, ist an sich nicht sehr kompliziert, auch wenn es durch seine Beschreibung sowie die Diskussion auf reddit zum Teil etwas verschleiert wird. Man muss dazu jedoch zumindest rudimentär wissen, wie sich Transaktionen durch das Lightning-Netzwerk bewegen.

Funktioniert nicht ohne zentrale Hubs

Stellen wir uns dazu die folgende Topologie vor: Arne unterhält einen Channel mit Bruno, Bruno einen Channel mit Christoph, und Christoph einen mit Daniel. Es gibt also drei Channels, über die Bitcoins offchain versendet werden können.

Wenn Arne nun einen Bitcoin an Daniel sendet, gibt er den Bitcoin zunächst an Bruno. Bruno behält diesen Bitcoin und schickt Christoph den Bitcoin, den er im Channel hat. Christoph gibt den nächsten Bitcoin an Daniel weiter. Sprich: Für jeden Sprung, den die Transaktion im Netzwerk macht, ändert sich die Balance eines Payment-Channels, und zwar so, dass am Ende das gewünschte Ergebnis steht: Arne hat einen Bitcoin weniger, Christoph und Bruno genau so viel wie vorher, und Daniel einen Bitcoin mehr.

Jonald Fyookball erklärt nun, dass „JEDER Zwischenschritt auf der Route zum Ziel das Guthaben für jede Transaktion bereithalten muss. Je mehr Zwischenschritte also genommen werden, desto höher ist diese Last.“ Jonald nimmt nun an, dass jeder Transaktion 20 Sprünge macht und ein User etwa 1.000 Dollar im Monat ausgibt. „Wenn jeder seinen Beitrag dazu leistet, dass diese Zahlung ihre Route findet, sind 20.000 Dollar notwendig.“

Eventuell kennt ihr die Regel, dass jeder über ein paar Schritte jeden kennt. Laut einer Theorie erreicht jeder Mensch in maximal sechs Schritten den Papst. Demzufolge sollte in einem Lightning-Netzwerk auch jeder in der Lage sein, in sechs Sprüngen jedermann auf der Welt eine Transaktion zu senden. Das Problem ist jedoch, dass erstens jeder dazu soviele Channels unterhalten müsste, wie er Freunde hat, und dass zweitens nicht jede Route zum Ziel führt, da ein Channel ausreichend Bitcoin halten muss.

Daher braucht ein User, um mit Lightning jeden zu erreichen, so Jonald, „entweder eine große Anzahl von Channels, oder eine große Anzahl an Sprüngen.“ Beides ist ein „riesiges Problem. Eine große Anzahl an Channels bedeutet, dass der User sein Guthaben aufteilen muss und nur noch winzige Zahlungen vornehmen kann. Eine große Anzahl von Sprüngen bedeutet hingegen, dass seine Zahlung das Geld sehr vieler Leute binden wird.“

Die einzige Lösung, um Lightning nutzbar zu machen, ist es nun, über zentralisierte Hubs zu gehen. Wenn eine Plattform tausende von Channels hat, kann ein User mit wenigen eigenen Channels eine Transaktion über wenige Sprünge zum Ziel führen.

Diese These beweist Jonald noch durch mathematische Formeln. Da das Problem eigentlich recht offensichtlich ist, erspare ich es uns. Stattdessen kommen wir zur Kritik der Kritik.

Wenn schon die Grundannahmen falsch sind …

Jonalds Kritik an Lightning blieb natürlich nicht unbeantwortet. Am prominentesten dürfte die Antwort von BitGo-Entwickler Murch sein. Er erklärt, dass Jonald falsche Annahmen über das Routing der Transaktionen postuliert: So gibt es nicht nur eine, sondern vermutlich viele mögliche Routen.

Vor allem aber bestreitet Murch Jonalds Behauptung, dass Guthaben in irgendeiner Weise eingefroren sind, wenn sie Teil der Route werden. Sie werden fast unmittelbar nach Ankunft der Zahlung freigegeben und können danach für weitere Zahlungen benutzt werden. Ebenfalls nicht richtig sei, dass Channels nur in eine Richtung benutzt werden können. Es ist hingegen möglich, dass die Payment Channels fortlaufend neu ausbalanciert werden, wodurch Guthaben in beide Richtungen fließen können.

Schließlich erklärt Murch, dass das Lightning Netzwerk vor allem für Micropayments, also kleine Transaktionen, entwickelt wird. Wenn es nur um wenige cent oder Euro geht, ist die Problematik, dass ein User mehrere Channels aufrecht hält, längst nicht mehr so drastisch wie angenommen. Größere Transaktionen, wie die von Jonald genannten 1.000 Dollar, können weiterhin onchain, also wie bisher, versendet werden.

Da Jonald Fyookball also bereits daran scheitert, Lightning zu verstehen, findet es Murch nicht notwendig, sich weiter an der Mathematik aufzuhalten. Wozu, wenn bereits die Grundlagen falsch sind?

Warum es schräg ist, dass Lightning überhaupt kritisiert wird …

Es fällt mir schwer, diese Argumente zu kommentieren. Wie alles, was mit dem Lightning Netzwerk zu tun hat, werden die Dinge schnell kompliziert.

Das Lightning Netzwerk existiert derzeit in keiner für solche Fragen irgendwie aussagekräftigen Weise. Es gibt zwar erste Tests mit Prototypen und im Testnet. Aber diese haben in keinster Weise den Umfang, den man braucht, um Aussagen über die künftige Topographie des Netzwerks zu treffen. Die gesamte Diskussion spielt sich also in der Phantasie ab. Vermutlich braucht man daher die Vorstellungskraft von jemandem, der aus dem Holz geschnitzt ist, aus dem die Dans bei Go gemacht werden. Womit jemand wie ich, der es nie über den zweistelligen Kyu-Bereich hinausgeschafft hat, schon mal außen vor ist.

Eine einigermaßen haltbare Meinung dürfte sein, dass Jonalds Kritik zwar überzogen, aber auch nicht ganz aus der Luft gegriffen ist: Die doppelte Deckung, die Lightning-Transaktionen in den Channels benötigen, verkompliziert sowohl das Routing als auch den Aufbau eines Netzwerks, und ohne jeden Zweifel werden große Hubs mit tausenden von Channels die ganze Geschichte erheblich einfacher machen.

Im Detail kann ich hierzu jedoch keine kompetente Meinung abliefern. Greifbarer und vielleicht auch wichtiger finde ich jedoch eine andere Frage: Warum macht sich Jonald überhaupt die Mühe, Lightning zu kritisieren – und warum wird seine Kritik selbst so energisch kritisiert? An sich sollte Lightning ein vollkommen unkontroverses Projekt sein: Man entwickelt ein Netzwerk von Payment Channels. Wenn es gelingt und ein Markt dafür da ist, kann man Mikro-Transaktionen offchain versenden. Wenn nicht, hat man auch nichts verloren. Lightning zu kritisieren ist auf den ersten Blick so absurd, wie ehrenamtliche Arbeit zu kritisieren.

Dennoch gibt es auch neben Jonalds Zentralisierungs-Theorie eine Menge Kritik an Lightning. Spontan fallen mir die folgenden Einwände gegen das offchain-Netzwerk ein:

Ich bin für keine dieser Kritiken ein Experte. Dass diese Punkte aber immer wieder aufgeworfen und auch erhitzt diskutiert werden, unterstreicht die eben schon gestellte Frage: Warum ist Lightning so kontrovers? Sollte es nicht ein völlig unkontroverses Projekt sein, das entweder offchain Zahlungen ermöglich, oder nicht – von dem man also nur gewinnen kann?

Der größte Feind von Lightning ist das Blocksize-Limit

Die Antwort ist relativ einfach: Das Lightning Netzwerk wird immer wieder als fast einzige, große Hoffnung der Skalierbarkeit von Bitcoin präsentiert – und als Grund, weshalb man sich gar nicht erst über eine Erhöhung der Blocksize jenseits von SegWit Gedanken machen darf. Onchain, also in den Blöcken, zu skalieren, ist eine Sackgasse. Lediglich mit Offchain-Lösungen wie Lightning wird es möglich sein, nachhaltig und fast endlos zu skalieren.

Diese Haltung findet man in der Capacity-Roadmap von Core, in der eine Blocksize-Erhöhung jenseits von SegWit unter „vielleicht einmal“ läuft, und man findet sie im Scaling Bitcoin Workshop in Mailand, bei dem es keine Präsentation über die Blocksize, aber drei über Lightning gab.

Eigentlich wäre das Lightning-Netzwerk ein harmloses Projekt, das neue Anwendungen im Micropayment ermöglichen und helfen kann, die Blockchain zu entlasten. Indem jedoch das Lightning-Netzwerk zum Gegensatz des Skalierens mit der Blocksize gemacht wird, wird es unnötig kontrovers. Indem die gesamte Last des zukünftigen Skalierens, also jede Bitcoin-Nutzung über die 1,5-1,8 MB mit SegWit hinaus, dem Lightning-Netzwerk aufgebürdet wird, werden die Erwartungen unnötig gigantisch. Beides macht die an sich vollkommen unnötige Kritik an Lightning berechtigt und sogar notwendig.

Das tiefe Blocksize-Limit und die Beschränkung der onchain-Kapazität wird so nicht, wie vielleicht geplant, zum Geburtshelfer des Lightning Netzwerks – sonders es wird zu seinem größten Feind. Niemand hätte ein Problem mit Lightning, und jeder würde es lieben – wenn es nicht unnötigerweise in den Blocksize-Streit hineingezogen worden wäre. Ohne das Blocksize-Limit hätte Jonald Fyookball niemals sein Blogpost geschrieben, Murch hätte es nicht beantworten müssen, und das Lightning Netzwerk wäre vollkommen unkontrovers.

Die mobile Version verlassen