Was ist das Bitcoin Lightning Network?

Ziel des Bitcoin Lightning Network ist eine Skalierung von Bitcoin, sodass instantan große Mengen an Transaktionen beliebiger Größe dezentral durchgeführt werden können. Das soll mithilfe von Zahlungskanälen geschehen. Zur Absicherung dieses Netzwerks werden Multisignature-Wallets und sogenannte Hashed Timelock Contracts (HTLC) genutzt.

Dr. Philipp Giese
Teilen

Wenn man Bitcoin mit anderen Kryptowährungen vergleicht, wird als ein klassisches Argument gegen Bitcoin das Skalierungsproblem herangezogen. Kurz gefasst ist Bitcoin aktuell nicht in der Lage, so viele Transaktionen zu verarbeiten, als dass er mit klassischen Zahlungssystemen konkurrieren könnte.

Fairerweise ist zu betonen, dass Bitcoin nicht einfach zum Ziel hatte, ein Zahlungssystem wie Visa zu werden. Nicht umsonst geht das Akronym BYOB – Be your own bank – auf die Frühzeit der Kryptowährung zurück. Entsprechend sehen Einige Bitcoin auch eher als ein zugrundeliegendes Zahlungssystem, welches man auf einer globalen Ebene nutzen kann.

Dennoch schockieren die Zahlen: Während Visa bis zu 65.000 Transaktionen pro Sekunde verarbeiten kann, sind es im Fall von Bitcoin nur maximal sieben.

Herausforderungen beim Skalieren einer Blockchain

Eine klassische Möglichkeit der Skalierung von blockchainbasierten Kryptowährungen ist, Limitierungen wie die Blockgröße oder das Intervall zu ändern. Mit anderen Worten, wie viele Daten in einem Block gespeichert werden können und wie oft ein neuer Block generiert wird.

Eine Rechnung ergibt jedoch, dass man so schnell an Grenzen stößt: Konservativ geschätzt verarbeitet Visa 500-mal so viele Transaktionen wie Bitcoin. Das bedeutet, dass die Blöcke mindestens 500 MB groß sein müssten – wenn man bei einem Zehn-Minuten-Intervall bleibt. Pro Stunde würde die Blockchain um 3 GB, pro Tag um 72 GB wachsen. Und das ist  extrem konservativ geschätzt! Eine schnellere Blockzeit löst dieses Problem nicht, sondern sorgt nur dafür, dass Transaktionen nicht über das gesamte Node-Netzwerk verteilt werden.

Es existiert zwar, beispielsweise bei Bitcoin-Cash, der Ansatz, Zahlungen ohne eine Bestätigung zu vertrauen, aber erstens steht dem die in vielen Wallets verwendete Funktion „Replace by Fee“ im Weg. Zweitens sollte man bedenken, dass der Mempool, auf den man im Fall von Zero-Confirmation-Transactions vertraut, durch den Arbeitsspeicher der Nodes begrenzt ist. Dieser Arbeitsspeicher ist variabel. Bitcoin Core Nodes haben schließlich das Standardverhalten, dass sie nach zwei Wochen den Mempool leeren. Entsprechend stellt sich die Frage, wie sinnvoll ein Vertrauen in Zahlungen ohne Bestätigung ist.

Doch ein Zahlungsnetzwerk wie Visa könnte auf Bitcoin aufbauen. Ziel wäre, ein Zahlungsnetzwerk so zu gestalten, dass es möglichst dezentral ist. Genau das versucht das Lightning Network zu erreichen.

Extrem technisch ausgedrückt ist Lightning Network eine Implementation von Hashed Timelock Contracts mit bidirektionalen Payment Channels, wodurch Transaktionen sicher über ein Netzwerk an P2P-Payment-Channels verwaltet werden können. Um diesen Satz vollständig zu begreifen, müssen einige Konzepte genauer erläutert werden.

Payment Channels – Die Basis des Lightning Network

Kern des Lightning Network sind Payment Channels. Wer also das Lightning Network verstehen will, sollte im ersten Schritt unidirektionale und bidirektionale Zahlungskanäle verstehen.

Der klassische Kanal oder Payment Channel besteht zwischen zwei Teilnehmern oder Peers. Dazu wird die Multisignature-Technologie Bitcoins und eine sogenannte Locktime genutzt. Mithilfe von Multisignature-Transaktionen können Transaktionen generiert werden, die mehr als einen Private Key zum Signieren einer Transaktion benötigen. Im Fall von Zahlungskanälen generiert man sogenannte 2-2-Multisig-Transaktionen. Das heißt, dass die mit dieser Transaktion zusammenhängenden Bitcoin die Zustimmung beider Parteien für ein Senden benötigen. Die Locktime sorgt dafür, dass für eine bestimmte Dauer die Coins innerhalb der Multisig nicht transferierbar sind.

Konkret sieht das Ganze dann so aus: Sagen wir, die Parteien Alice und Bob möchten häufiger sehr kleine Geldbeträge miteinander austauschen. Alice eröffnet also einen Zahlungskanal, indem sie einen festgelegten Betrag an die Multisignature-Adresse bestehend aus den Keys von Alice und Bob sendet. Für das Beispiel sei dieser Betrag 100.000 Satoshi. Das entspricht knapp sechs Euro.

Zuvor legt sie jedoch eine zweite Transaktion an, die in einem Monat die 100.000 Satoshi an eine von ihr kontrollierte Adresse schickt. Das ist ihre Sicherheit. Sollte es also zu Problemen mit Bob kommen und der Handel mit ihm nicht stattfinden können, wird in einem Monat das Geld an eine von ihr kontrollierte Adresse gesendet. Bob könnte die 100.000 Satoshi also maximal für einen Monat als „Geisel halten“ – nicht für immer.

Nun ist einerseits zwischen Alice und Bob ein Verfügungsrahmen festgelegt, andererseits hat Alice eine Absicherung getroffen. Innerhalb der Multisig-Transaktion können nun Mikrotransaktionen stattfinden. Dazu aktualisiert man innerhalb der MultiSig-Adresse die Balance kontinuierlich. Möchte also Alice 100 Satoshi an Bob überweisen und aktualisiert die Besitzverhältnisse in der Multisig-Adresse entsprechend, stehen Alice danach 99.900 Satoshi und 100 Satoshi Bob zu. Diese inkrementale Aktualisierung kann so lange fortgesetzt werden, bis die Locktime abgelaufen ist – ohne Gebühren und instantan.

Bei allen oberen Schritten signiert nur Alice die Multisig-Transaktion. Bob steht bis zum Ende der Locktime frei, die Transaktion durch Signieren von seiner Seite in das gesamte Netzwerk zu senden und damit den Payment Channel zu schließen. Profitorientiert wartet Bob, bis entweder die Locktime fast abgelaufen oder der Verfügungsrahmen von Alice erschöpft ist.

Commitments – Wenn Kanäle in beide Richtungen gehen sollen

Den oben beschriebenen Mechanismus nennt man einen unidirektionalen Kanal, da nur Alice an Bob Geld zahlen kann. Wollen Alice und Bob Zahlungen austauschen, würde man von einem bidirektionalen Kanal sprechen. Das Ganze führt zu einem Dilemma: Wieso sollte Bob, wie in obigem Beispiel, die Zeit bis zur Locktime abwarten? Er könnte den gesamten Stake sofort für sich beanspruchen.

Um das zu verhindern, ist nutzt das Lightning Network den Ansatz der gegenseitigen Absicherung. Alice und Bob denken sich vor Aufsetzen des Channels jeweils eine Zahl aus und schicken sich gegenseitig einen Hash derselben. Wie im Fall eines unidirektionalen Payment Channels generieren die Zahlungspartner eine Multisig-Adresse. Bevor man diese an den Rest der Welt sendet, erzeugen Alice und Bob jeweils eine Commitment Transaction. In dieser Commitment Transaction teilt man die Funds auf: Ein Teil geht an den Erzeuger der Commitment Transaction selbst, ein zweiter Teil an eine Time-Locked Adresse, auf welche die Gegenpartei nach einer festgesetzten Zeit Zugriff erhält. Damit haben Beide Verträge geschaffen, die einen Betrug verhindern.

Lightning: Aus dem Kanal wird ein Netzwerk

So weit, so gut, aber wirklich weit bringen einem derartige Channels noch nicht. Bisher müssten diese für jede neue Zahlungsaktivität einen neuen Channel errichten. Sollte also Alice mit Carol Geschäfte machen wollen, müssten beide Geschäftspartner einen Zahlungskanal errichten – unabhängig davon, ob Carol und Bob schon Bitcoins miteinander ausgetauscht haben oder nicht. Peer-to-Peer wäre in ein Extrem verzerrt und damit absolut nicht effizient. Ein Ansatz wäre, dass Teilnehmer an verschiedenen Zahlungskanälen Transaktionen weitergeben. Alice würde Geld an Carol über Bob schicken können. Die Frage ist, ob man Bob vertrauen kann. Zum einen könnte er das Geld für sich beanspruchen und einfach nicht weitergeben, zum anderen könnte die Lightning Node von Bob ausfallen.

Die Lösung im Lightning Network sind Hashed Timelock Contracts oder kurz HTLCs: Diese garantieren, dass so etwas nicht passieren kann. Dabei denkt sich Carol ein Geheimnis aus, wieder eine zufällige Zahl. Den Hash davon gibt Carol an Alice weiter. Dieser Hash wird nun zum Unterpfand: Bob erhält eine Zahlung, wenn er das Geheimnis kennt. Dieses kann Alice mithilfe des Hashes überprüfen. Bob gibt den Hash weiter – wieder mit dem Versprechen, zu zahlen, falls der Empfänger das Geheimnis lüftet. Prinzipiell kann der Weg zwischen Alice und Carol weitere Teilnehmer enthalten, die allesamt den Hash als Unterpfand nutzen, in der Abbildung hat man lediglich ein einfaches Netzwerk aus drei Parteien gebildet.

Mithilfe der HTLCs können Payment Channels zwischen verschiedenen Parteien miteinander verbunden werden. Man sieht: Teilnehmer am Netzwerk, die als Nodes eine Brücke zwischen Alice und Carol bilden, sind das Rückgrat des Lightning Networks. Ihre Wichtigkeit kann man mit der der Miner auf der regulären Blockchain vergleichen.

Die Blockchain spielt weiterhin eine zentrale Rolle zum abschließenden Settlement der Zahlungen und damit für den globalen Konsens. Dabei ist es sekundär, ob es tatsächlich die Bitcoin-Blockchain ist: Das Lightning Network kann auch mit anderen Kryptowährungen wie beispielsweise Litecoin interagieren. So kann man schließlich auch Atomic Swaps realisieren. Hier wird ein Channel eröffnet, dessen finales Settlement man auf verschiedenen Blockchains speichert.

Lightning Network in der eigenen Wallet erfahren

Das Lightning Network ist noch nicht fertig. Zwar existieren inzwischen über 2.000 Lightning Nodes. Trotzdem ist nicht garantiert, dass zwei Nutzer tatsächlich ein Zahlungskanal aufbauen können. Es ist also noch viel zu tun. Getreu dem Motto „Be your own Bank“ kann hierbei jeder mithelfen: Besonders ambitionierte können eine eigene Lightning Node aufsetzen.

Doch auch ohne das Herunterladen der gesamten Blockchain kann man in den Genuss des Lightning Network kommen. Wer schnell experimentieren will, kann als Web-Wallet HTLC.me verwenden. Mit Zap und der Lightning App existieren zwei Desktop Wallets. Schließlich gibt es mit Eclair sogar schon eine Mobile Wallet für Android-Nutzer. Wie an anderer Stelle beschrieben, existiert mit Coingate ein Service, mit welchem man schnell Transaktionen über das Lightning Network im eigenen Webstore zulassen kann.

Man sieht, dass viel in Bewegung ist. Wir von BTC-ECHO werden weiter über das Lightning Network berichten.

BTC-ECHO

Du willst Pyth Network (PYTH) kaufen oder verkaufen?
Wir zeigen dir in unserem Leitfaden, wie und wo du einfach und seriös echte Pyth Network (PYTH) kaufen kannst.
Pyth Network kaufen