Lightning Network: Eine Skalierungslösung für Bitcoin

Oliver Gugger

[English version]

Bitcoin hat aktuell ein Problem: Es wird von seinem eigenen Erfolg eingeholt. Momentan kann das als elektronische Zahlungssystem entwickelte kryptografische Netzwerk kaum zum Bezahlen von Alltagsartikeln benutzt werden. Die Transaktionsgebühren betragen mehrere Dollar und eine Zahlungsbestätigung kann gut und gerne eine Stunde dauern. Nicht optimal, wenn man mal eben rasch einen Kaffee damit bezahlen möchte…

Doch Abhilfe ist in Sicht: Über die letzten Jahre wurde stark in die Entwicklung des sogenannten Lightning Networks investiert und seit dem Dezember sind erste alpha-Versionen verfügbar, mit denen man es testen kann. Puzzle ITC will ganz vorne mit dabei sein und deshalb bauen wir unseren eigenen Lightning Network Hub auf.

Das Problem: Volle Blöcke

Der rasante Kursanstieg im letzten Jahr hat dazu geführt, dass immer mehr Bitcoin-Transaktionen durchgeführt werden. Doch die Grösse eines Bitcoin-Blocks ist auf ein Megabyte limitiert, was je nach Art der Transaktionen etwa 2’000 Transaktionen pro Block bedeutet. Bedenkt man, dass im Durchschnitt etwa alle 10 Minuten ein Block entsteht, dann ergibt das nicht sehr viele Transaktionen pro Sekunde. Die Liste der noch nicht in einem Block bestätigten Transaktionen ist daher lange und man muss relativ hohe Transaktionsgebühren in Kauf nehmen, wenn man seine Überweisung im nächsten Block bestätigt haben möchte.

Die naivere Lösung: Grössere Blöcke

Auf den ersten Blick mag es logisch erscheinen, dass man einfach die Grösse der Blöcke erhöht. Mehr Megabytes, mehr Transaktionen, Problem gelöst.

Das Visazahlungssystem bestreitet in Spitzenzeiten um die 24’000 Transaktionen pro Sekunde. Will man nur annähernd an diese Zahl herankommen, dann wird rasch klar, dass man die Blockgrösse auf mehrere Gigabytes setzen muss, um vergleichbare Durchsatzraten hinzukriegen. Doch dies widerspricht einem fundamentalen Grundsatz von Bitcoin: Jeder soll selbst einen Node betreiben und so die gesamte Blockchain selbst validieren können. Muss man alle 10 Minuten mehrere Gigabytes herunterladen, verifizieren und abspeichern, dann benötigt man nicht nur eine sehr schnelle Internetverbindung, sondern auch die entsprechende Hardware, die mit diesen Datenmengen umgehen kann.

Es gäbe also immer weniger Bitcoin-Nodes, was dem Aspekt der Dezentralisierung widersprechen würde.

Die durchdachtere Lösung: Skalieren ausserhalb der Blockchain

Wenn der Platz in der Blockchain rar wird, dann kann man sich fragen: Ist es wirklich sinnvoll, dass jede noch so kleine Transaktion, wie zum Beispiel für einen Kaffee, in der Blockchain für alle sichtbar und für alle Zeiten festgehalten wird? Oder wäre es nicht besser, wenn ich bei meinem Kaffeeverkäufer ein durch die Blockchain abgesichertes Guthaben in einem Smart Contract hätte, mit dem ich dann die einzelnen Kaffees bezahlen könnte, ohne jedes Mal eine Transaktion in der Blockchain zu veröffentlichen und die Bestätigung abzuwarten?

Genau dies verspricht das sogenannte Lightning Network: Zwischen zwei Teilnehmern wird ein Zahlungskanal („Payment Channel“) über ein bestimmtes Guthaben eröffnet. Nur das Eröffnen und das Schliessen des Kanals werden in der Blockchain verankert. Alle restlichen Transaktionen dazwischen (Lastschrift für den täglichen Kaffee, Gutschrift für Kundentreue, etc.) werden nur zwischen den zwei Teilnehmern ausgetauscht. Das gegenseitige Guthaben im Kanal kann also in Millisekunden und beliebig oft aktualisiert werden, ohne die Bitcoin-Blockchain zu belasten.

Durch ein ausgeklügeltes kryptografisches Verfahren sind beide Teilnehmer abgesichert, so dass der eine den anderen nicht betrügen kann. Ist einer der beiden Zahlungskanalteilnehmer unkooperativ, länger nicht online oder hat böse Absichten, dann kann der andere Teilnehmer jederzeit die Blockchain als dezentralen Richter einsetzen und den Kanal schliessen. Es muss also wiederum niemandem vertraut werden, die Blockchain agiert als Schiedsrichter beim Disput.

Das Lightning Network: Ein Layer 2 oder TCP/IP für Bitcoin

Richtig spannend wird es, wenn man diese Kanäle aneinanderhängt und über mehrere Knotenpunkte („Hubs“) hinweg Zahlungen machen kann. Denn die eingesetzten kryptografischen Verfahren sind so weit ausgeklügelt, dass Guthaben über mehrere Kanäle hinweg transferiert werden kann, ohne dass jemand dazwischen das Geld abzweigen, blockieren oder sinnvoll identifizieren kann.

Damit kann man sich ein Netzwerk von Kanälen und Knotenpunkten vorstellen, ähnlich dem Netzwerk von Routern im Internet, an dem viele Teilnehmer angeschlossen sind und alle mit allen direkt oder indirekt verbunden sind. Zahlungen können dann an beliebige Empfänger im Netzwerk innert Millisekunden und zu minimalsten Gebühren (im Bereich von einigen Satoshi oder sogar kostenlos) getätigt werden.

Dieses Demovideo (in Englisch) zeigt, wie schnell und einfach mit dem Lightning Network einige Dollar oder sogar Cents an eine Webseite überwiesen werden können.

Wer sich genauer informieren will, wie die Technologie im Detail funktioniert, schaut sich am besten diese 3-teilige Videoserie auf YouTube an (in Englisch).

Puzzle ITC als Lightning Network Hub

Wir bei Puzzle ITC sind der Meinung, dass diese Technologie dem Bitcoin zum Durchbruch verhelfen kann und die Möglichkeit eröffnet, auch im Alltag damit bezahlen zu können.

Deshalb wollen wir einen der ersten Lightning Network Hubs in der Schweiz betreiben und die Technologie konsequent voran treiben. Im Dezember waren erste Versuche auf dem Testnetzwerk von Bitcoin bereits erfolgreich. Darum sind wir jetzt an der Einrichtung einer produktiven Instanz auf dem Bitcoin-„mainnet“.

Jetzt selbst ausprobieren

Wenn ihr die Technologie selbst einmal ausprobieren wollt, dann ladet euch jetzt eine der verfügbaren Client-Apps oder die „Eclair Wallet Testnet“ Mobile-App herunter und verbindet euch mit unserer Testinstanz. Anleitungen und weitere Infos folgen auf https://lightning-test.puzzle.ch

Folgt uns auch auf Twitter (@puzzleitc) um bezüglich Lightning am Ball zu bleiben.

Kommentare sind geschlossen.