Satashi Nakamoto hat am Freitag, den 31. Oktober 2008, einen Vorschlag für ein "neues elektronisches Kassensystem, das vollständig Peer-to-Peer ist und keinen vertrauenswürdigen Dritten kennt", an eine Kryptografie-Mailingliste gesendet. Die erste Antwort - das erste Mal, dass jemand öffentlich ist Bitcoin kommentiert - kam am folgenden Sonntag: "Wir brauchen sehr, sehr dringend ein solches System", schrieb James A. Donald, "aber so wie ich Ihren Vorschlag verstehe, scheint es nicht auf die erforderliche Größe zu skalieren."
Zehn Jahre später klingt diese Kritik immer noch richtig. Sogar die leidenschaftlichsten Evangelisten von Bitcoin geben zu, dass es wertlos ist, kleine, alltägliche Einkäufe zu tätigen. Das Lightning Network, eines der vielversprechendsten Projekte zur Skalierung von Bitcoin, könnte dies ändern.
Das Blitznetzwerk
Auf dem Blockstack-Gipfel im Juli 2017 zitierte Lightning Labs-Geschäftsführerin Elizabeth Stark diese erste Kritik an Nakamotos elektronischem Bargeld, zeigte sich jedoch zuversichtlich, dass Bitcoin tatsächlich skalierbar ist. "Wir sind im Grunde genommen wieder im Jahr 1995, wenn es um Blockchains und dezentrale Technologien geht", sagte sie und bezog sich auf die Zeit, bevor das Internet HTTP und die anderen Transport- und Anwendungsschichten von TCP / IP erlangte.
Zu den am häufigsten diskutierten "Layer 2" -Anwendungen für die Bitcoin-Blockchain gehört das Lightning-Netzwerk. Lightning wurde von Joseph Poon und Tadge, auch bekannt als Thaddeus Dryja, im Jahr 2015 erstmals vorgeschlagen (die neueste Version ihres Whitepapers finden Sie hier) und von drei Unternehmen in eine funktionierende Spezifikation mit dem Namen Lightning-RFC oder "BOLTS" umgewandelt eigene Implementierung: Lightning Labs hat lnd, Blockstream hat c-lightning und ACINQ hat eclair. Es werden auch Nicht-BOTLS-Implementierungen entwickelt, z. B. Thunder.
Das Blitznetzwerk ist bereits in Betrieb, steckt aber noch in den Kinderschuhen. Echtes Bitcoin wurde gesendet und fast immer mit den Implementierungen von Lightning Labs, Blockstream und ACINQ empfangen, und alle drei sind interoperabel. Das folgende Video zeigt einen ACINQ-Ingenieur, der fast augenblicklich 0, 000001 Bitcoin (ca. 0, 01 USD) von einem Eclair-Knoten über einen C-Lightning-Knoten an einen lnd-Knoten sendet:
Um zu sehen, welche Verbesserung dies darstellt, haben wir mit GreenAddress, einer App für mobile Geldbörsen, eine ähnliche Transaktion für die Bitcoin-Blockchain durchgeführt. Die App schlug vor, Bergleute mit 0, 00001907 BTC (0, 19 USD) zu bezahlen: eine Gebühr von 1, 907%. Zwar ist nicht klar, wie viele Blöcke diese Gebühr bestätigen sollte (wir haben uns an GreenAddress gewandt, um dies herauszufinden), aber die Antwort lautet wahrscheinlich sechs Blöcke oder ungefähr eine Stunde.
Wir werden jedoch nie herausfinden, wie lange diese bestimmte Transaktion tatsächlich gedauert hätte: In einer Fehlermeldung wurde uns mitgeteilt, dass "Ausgaben unter 546 Satoshis von Bitcoin als unwirtschaftlicher Staub eingestuft werden. Bitte erhöhen Sie den Wert."
Lightning Labs hat auch kettenübergreifende Atom-Swaps unter Verwendung des Netzwerks getestet. Dies sind Werttransfers zwischen verschiedenen Blockchains, in diesem Fall Bitcoin und Litecoin, die möglicherweise einen ersten Schritt zum Aufbau eines dezentralen Austauschs darstellen.
Lightning ermöglicht Mikrozahlungen, die Bitcoin allein nicht leisten kann, aber die vorhandenen Implementierungen sind immer noch fehlerhaft. Stark fordert die Benutzer auf, sich mit dem Bitcoin-Testnetz (das heißt, mit falschem Geld) und nicht mit dem Live-Fire-Mainnetz vertraut zu machen. Zum Zeitpunkt des Schreibens wurden jedoch Transaktionen im Wert von rund 50.000 US-Dollar im Mainnet ausgeführt, und einige Leute haben durch einen C-Lightning-Fehler Geld verloren. (Christian Decker, Core Tech Engineer bei Blockstream, teilte mir per E-Mail mit, dass die Gelder in den meisten Fällen letztendlich eingezogen wurden.)
Wie funktioniert der Blitz?
So funktioniert Lightning
Die Lightning-Lösung basiert auf bidirektionalen Zahlungskanälen außerhalb der Kette. Sagen Sie, Alice und Bob handeln häufig in kleinen Mengen miteinander. On-Chain-Zahlungen sind in diesem Fall aufgrund der damit verbundenen Gebühren und langen Bestätigungszeiten nicht praktikabel. Sie beschließen daher, einen Kanal zu eröffnen, über den sie Bitcoin sofort und gebührenfrei hin und her senden können.
Kanal öffnen
Um einen Kanal zu eröffnen, spenden Alice, Bob oder beide einen bestimmten Betrag an Bitcoin an eine bestimmte Adresse über eine sogenannte Finanzierungstransaktion (das grüne Kästchen in der folgenden Abbildung). Angenommen, Alice steuert 1 BTC bei. Sie sendet das Geld an eine so genannte 2-aus-2-Multisig-Adresse, bei der Alice und Bob jede Sendetransaktion mit ihren privaten Schlüsseln kryptografisch "signieren" müssen. Eine normale Transaktion erfordert nur die Signatur des (einzelnen) privaten Schlüssels, der dem öffentlichen Schlüssel der Absenderadresse entspricht.
Wichtig ist, dass die Finanzierungstransaktion noch nicht unterzeichnet oder an das Netzwerk gesendet wurde.
Als nächstes erstellen Alice und Bob eine "Commitment-Transaktion", wobei sie die Finanzierungstransaktion als "Eltern" verwenden: Sie verwenden die nicht bestätigte Ausgabe von 1 BTC als Eingabe für eine "Kind" -Transaktion, die 0, 5 BTC an Alice sendet (Ausgabe 0) und 0, 5 BTC an Bob (Ausgang 1). Wenn Sie dagegen protestieren, dass das Bitcoin-Protokoll es Benutzern nicht erlaubt, eine Ausgabe zu unterschreiben, ohne die Signaturen der Eingabe zu kennen, wurde diese Fähigkeit über einen Soft Fork gewährt.
Alice signiert dann die Ausgabe und sendet 0, 5 BTC an Bob. Bob signiert den Ausgang und sendet 0, 5 BTC an Alice. Beide unterzeichnen und senden dann die Finanzierungstransaktion, die für die Bitcoin-Blockchain festgeschrieben ist (und für die Netzwerkgebühren und Wartezeiten anfallen).
Sie haben jetzt einen offenen Zahlungskanal, über den sie Bitcoin sofort und gebührenfrei hin und her transportieren können. Entweder Alice oder Bob können es jederzeit schließen und jeweils ihre 0, 5 BTC anfordern, oder was auch immer der aktualisierte Kontostand ist.
Kanal eröffnen… Auf Englisch
Wenn Sie nicht bereits einiges über die Innereien des Blitznetzwerks wissen, ist es wahrscheinlich schwierig, das "Zeichen hier, Initiale hier, Ausgabe hier, Sendung das - nein, nicht das " zu verdauen .
Hier ist eine konzeptionellere Beschreibung. Die Finanzierungstransaktion klingt wie folgt: Sie stellt die Mittel für den Kanal bereit. Dies ist auch eine Obergrenze für den Kanal: Keine Partei kann mehr als den ursprünglichen Finanzierungsbetrag erhalten, und die Salden beider Parteien müssen sich zu diesem Betrag addieren. Der Grund, warum die Finanzierungstransaktion zuerst erstellt, aber zuletzt gesendet wird, ist, dass, wenn sie einfach in einem Schritt in die Blockchain gestellt worden wäre, nichts außer einer einzelnen Transaktion mit reinem Vanilleeffekt erreicht worden wäre. Blitz macht diese nicht schneller oder billiger.
Indem Sie die Finanzierungstransaktion offen lassen, eine Verpflichtungstransaktion einfügen, die wie unten beschrieben als eine Art intelligenter Vertrag fungiert, und dann die Finanzierungstransaktion schließen, öffnen Lightning Pries eine Art Wurmloch im Netzwerk. Sie können Bitcoin auf einem einzelnen definierten Pfad vor- und zurückbewegen. Sie verwenden das Bitcoin-Protokoll, umgehen jedoch die Verzögerungen und Kosten, die von den Bergleuten verursacht werden.
Lightning Trustless halten
Angenommen, Bob möchte jetzt Alice 0.1 BTC über ihren offenen Kanal bezahlen. Die beiden Parteien aktualisieren lediglich die Verpflichtungstransaktion. Der Kontostand, der zuvor jeweils 0, 5 BTC betrug, beträgt jetzt 0, 6 BTC für Alice und 0, 4 BTC für Bob.
Das einzige Problem ist, wie man das sicher macht. Da sie bereits Unterschriften für die erste Transaktion ausgetauscht haben, kann Bob diese - und nicht die letzte - unterschreiben und 0, 5 BTC anstelle der 0, 4 BTC weggehen, die er tatsächlich schuldet. Mit anderen Worten, er kann rund 1.000 US-Dollar von Alice stehlen, basierend auf den Preisen zum Zeitpunkt des Schreibens. Die Antwort könnte darin bestehen, Kanäle nur mit Personen zu öffnen, denen Sie vertrauen. Aber wozu dient Bitcoin?
Die Suche nach einer kryptografischen Lösung für dieses Dilemma hat nur ein Ziel: Es ist unmöglich, eine alte Transaktion zu unterzeichnen und den Kanal auf eine Weise zu schließen, die den vorherigen Status widerspiegelt. Solange dies eine Option ist, hat Lightning ein Problem mit doppelten Ausgaben.
Denken Sie daran, dass Bob eine Hälfte der Commitment-Transaktion (Commitment Tx 1a unten) unterzeichnet, die nur Alice senden kann, da ihre Unterschrift fehlt. Alice unterschreibt den anderen (Commitment Tx 1b), den dann nur Bob senden kann. Entweder kann man dies tun und den Kanal schließen, aber unter Verwendung der (eingeschränkten) Smart Contract-Writing-Funktionen von Bitcoin können die Ausgaben der beiden Hälften der Commitment-Transaktion unterschiedlichen Beschränkungen unterliegen. Insbesondere kann eine Ausgabe es dem Empfänger ermöglichen, das Geld sofort auszugeben, während die andere von beiden Parteien über einen widerrufbaren Sequenz-Fälligkeits-Vertrag (RSMC) für einen definierten Zeitraum (z. B. 1000 Blöcke) oder ungefähr storniert werden kann eine Woche.
Hier ist, warum das nützlich ist. Wenn sich herausstellt, dass Bob hinterhältig und unprincipled ist, kann er nur Commitment Tx 1b (oben) unterzeichnen und ausstrahlen, was Alice sofort auszahlt (Lieferung 1b) und sein Geld für eine Woche in der widerruflichen Schwebe hält (Widerrufliche Lieferung 1b). Alice, die sieht, dass Bob versucht hat, sie zu verändern, kann einen Widerruf auslösen und nicht nur die 0, 1 BTC beanspruchen, die Bob zu stehlen versucht hat, sondern auch die 0, 4 BTC, zu denen er sonst berechtigt gewesen wäre.
Mit anderen Worten, der gesamte Kanal geht an Alice, wenn sie Bob beim Schummeln erwischt. Dies ist möglich, weil die Parteien, wenn sie eine neue Verpflichtungstransaktion erstellen (C2a und C2b unten) und damit versprechen, keine alte Verpflichtungstransaktion (C1a oder C1b) zu übertragen, ihr Geld dorthin legen, wo sie den Mund haben. Zusammen mit der neuen Commitment-Transaktion erstellen sie eine Transaktion zur Beseitigung von Sicherheitsverletzungen, bei der zwei Ausgaben (BR1a und BR1b) für die vorherige Commitment-Transaktion gelten. Alice gibt Bob ihren privaten Schlüssel für die Hälfte der Transaktion zur Beseitigung von Sicherheitsverletzungen und umgekehrt. Wenn nun einer der beiden versucht, die alte Transaktion zu übertragen, kann der Kontrahent die Wartezeit von 1000 Blöcken ausnutzen und vor dieser Transaktion einspringen, wodurch der gesamte Kontostand der betreffenden Partei aufgebraucht wird.
Das Problem ist, dass Alice ihren Kanälen nur halbwegs Aufmerksamkeit schenken muss, damit Bob sie nicht für 1000 Blocks überrumpelt. Poon und Dryja schlagen vor, einen Dritten zu bestimmen, dessen Aufgabe es ist, Transaktionen zur Beseitigung von Verstößen auszulösen - diejenigen, die alle Gelder des Kanals an die geschädigte Partei ausbezahlen -, wenn eine Gegenpartei versucht, zu betrügen. Diese könnten eine Gebühr aus der Strafe bezahlt werden.
Olaoluwa Osuntokun, Mitbegründer und CTO von Lightning Labs, entwickelt "Wachtürme", die als Durchsetzungskräfte von Drittanbietern fungieren. Während Bedenken geäußert wurden, dass diese Knoten als vertrauenswürdige Parteien fungieren und Unsicherheit in das Netzwerk bringen könnten, teilt Osuntokun CoinDesk mit, dass für einen bestimmten Kanal nur ein einziger ehrlicher Wachturm erforderlich wäre.
Auch, wie Christian Decker, Core Tech Engineer bei Blockstream, in einer E-Mail betont, ist Betrug riskant. Es ist ein großes Risiko anzunehmen, dass die Partei, die Sie ausrauben wollen, nicht mindestens einmal pro Woche eincheckt und das Risiko, das gesamte Geld in Ihrem Kanal zu verlieren, abschreckend genug ist.
Anschließen der Kanäle
In der realen Welt möchte Alice weder ausschließlich mit Bob noch ausschließlich mit Alice Geschäfte abwickeln. Beide haben eine beliebige Anzahl von Gegenparteien, die sie bezahlen müssen und von denen sie bezahlt werden. Es wäre unpraktisch, Kanäle mit jeder dieser Parteien zu eröffnen. Selbst wenn die Benutzeroberfläche perfekt vereinfacht würde, hätten nur wenige Benutzer die notwendige Liquidität, um Bitcoin in einem Dutzend oder mehr offenen Kanälen zu binden.
Zum Glück müssen sie nicht. Wie das obige Video zeigt, können Benutzer Zahlungen über die Kanäle von Zwischenbenutzern weiterleiten, sodass die Bezahlung von Personen mit einem oder zwei offenen Kanälen nach dem Sechs-Grad-Trennungsprinzip möglich sein sollte. Im Gegensatz zu Transaktionen innerhalb eines einzelnen Kanals fallen bei diesen Mehrkanaltransaktionen wahrscheinlich geringe Gebühren an, um Knoten Anreize zu bieten, Kanäle zu finanzieren und offen zu halten. Zwiebel-Routing, die Technik, mit der TOR-Browser-Benutzer getarnt werden, verhindert, dass zwischengeschaltete Knoten den vollständigen Pfad einer Transaktion sehen, wodurch Datenschutzbedenken ausgeräumt werden.
Wie gut dieses Netz von Kanälen in der Praxis funktioniert, bleibt abzuwarten, und es ist vorstellbar, dass sich die von diesen Benutzern erhobenen Gebühren summieren, wenn Zahlungen auf einer zu verschlungenen Route - mit zu vielen "Sprüngen" über Zwischenkanäle - erfolgen müssen.
Kann Lightning dezentral bleiben?
Diese Sorgen hängen mit einer zusammen, die für Kritiker einen unüberwindlichen Fehler im Blitznetzwerk darstellt. In den heutigen Implementierungen hat ein Kanal eine Obergrenze: Die Menge an Bitcoin in der anfänglichen Finanzierungstransaktion begrenzt die Gesamtmenge an Geld im Kanal.
Diese Situation bedeutet für Benutzer mit einigermaßen begrenzten Ressourcen einen Kompromiss. Sie können entweder Kanäle mit großen Bitcoin-Beträgen finanzieren, um sicherzustellen, dass sie über die Mittel verfügen, um die Zahlungen zu leisten, die sie benötigen, oder sie können kleinere Kanäle finanzieren und Bitcoin für andere Zwecke zur Verfügung stellen. (Da Zahlungen über verknüpfte Kanäle weitergeleitet werden können, muss ein bestimmter Benutzer wahrscheinlich nicht mehr als eine Handvoll Kanäle und möglicherweise nur ein paar Kanäle öffnen.)
Die Wahl läuft darauf hinaus, Liquidität innerhalb der Blitzkanäle oder Liquidität außerhalb der Blitzkanäle in der Kette zu haben. Die Entscheidung, liquide Zahlungswege zu finanzieren, kann riskant sein, wenn Wachtürme oder andere Lösungen den Verlust von Geldern durch Unachtsamkeit nicht verhindern. Auf der anderen Seite, wenn die Zahlungskanäle sicher gemacht werden und der Blitz zur Hauptmethode für die tägliche Verwendung von Bitcoin wird, gibt es kaum Probleme, Geld in den Kanälen zu belassen. Sie würden als "wiederaufladbare Debitkarte oder Bargeld" dienen, wie Decker es ausdrückt, während die Hauptkette als Sparkonto fungiert.
Stark macht ein ähnliches Argument: Die Finanzierung eines Blitzkanals verhindert, dass Sie dieses Bitcoin für etwas anderes verwenden, mit Ausnahme von "einem Netzwerk von potenziell vielen Knoten, die über Multihop Bitcoin sofort akzeptieren", schrieb sie per E-Mail. "Wir gehen davon aus, dass Mittel in Lightning-Kanälen aufgrund der sofortigen Geschwindigkeit und der geringen Gebühren nützlicher sind als Bitcoin-Transaktionen in der Kette", fügte sie hinzu.
Naben?
Aber mit wem würden Sie diese Kanäle einrichten? Die Wahl des Bob für Ihre Alice ist eine wirtschaftliche und keine kryptografische Entscheidung. Für Kritiker des Lightning-Netzwerks wäre die offensichtliche Antwort eine Art "Hub", ein Knoten mit viel Kapital, der die Fähigkeit zur Aufrechterhaltung bietet gut finanzierte offene Kanäle mit mehreren Parteien gleichzeitig.
Die Idee, dass sich aus einer außerbetrieblichen Bitcoin-Bankbranche etwas entwickeln könnte, stört Bitcoin-Enthusiasten, die es als Zentralisierung des Netzwerks ansehen.
Stark bestreitet diese Argumentation. "Tausende von Benutzern führen Bitcoin-Vollknoten aus", schreibt sie, "und wir glauben, dass diese und andere auch Lightning-Knoten ausführen werden (dies ist einfacher, da Sie keinen Bitcoin-Vollknoten benötigen und im Gegensatz zu Bitcoin-Vollknoten können kleine Gebühren aus dem Routing machen). " Sie weist auch darauf hin, dass ihr Team am "Spleißen" arbeitet, wodurch Kanäle mit Bitcoin aus der Hauptkette aufgefüllt werden könnten. Diese Fähigkeit könnte den Kompromiss zwischen dem Einsetzen von Bitcoin in einen Kanal oder dem Belassen von Bitcoin in der Hauptkette verringern, was wiederum die Tendenz zur Bildung von Hubs verringern könnte.
Decker sieht es als wahrscheinlich an, dass sich ein "zweistufiges Netzwerk mit einer großen Anzahl von Knoten bilden wird, die zuverlässig sind und als Rückgrat des Netzwerks fungieren". Er geht jedoch davon aus, dass es sich hierbei eher um Händler als um Hubs handelt, die ausschließlich zur Bereitstellung von Flüssigkeitskanälen dienen. Das Bereitstellen dieser Kanäle für mehrere Benutzer wäre teuer, da die Hubs hohe Gebühren erheben müssten und im Vergleich zu anderen Knoten nicht wettbewerbsfähig wären.
Pierre-Marie Padiou, CEO von ACINQ, weiß nicht, wie sich das Blitznetzwerk entwickeln könnte. "Es ist sehr schwierig, das Gleichgewicht zwischen Zentralisierung und Dezentralisierung vorherzusagen", schrieb er per E-Mail. "Natürlich wird es größere und kleinere Knoten geben, aber inwieweit ist das vorher schwer zu sagen."
Der richtige Weg zu skalieren?
Poon und Dryja behaupten, dass "Bitcoin mithilfe eines Netzwerks dieser Micropayment-Kanäle mit der Rechenleistung, die heute auf einem modernen Desktop-Computer verfügbar ist, auf Milliarden von Transaktionen pro Tag skaliert werden kann". Vielleicht, aber das ist heute sicherlich nicht der Fall. Zum Zeitpunkt des Schreibens sind weniger als 1.000 Mainnet-Lightning-Knoten geöffnet.
Lightning ist auch nicht der einzige Skalierungsvorschlag. Ein Hauptkonkurrent ist Bitcoin Cash, eine umstrittene harte Bitcoin-Gabel, die größere Blöcke zulässt. Die Debatte zwischen Anhängern von Bitcoin-Bargeld, Anhängern von Blitzschlägen und Befürwortern verschiedener dritter Methoden - selbst der gelegentliche Anti-Scaler - ist lebhaft, wenn auch heftig. Es kann sein, dass der eine oder andere die Oberhand gewinnt, dass sie weiterhin koexistieren oder dass alle scheitern.
In jedem Fall ist das Blitznetzwerk ein vielversprechender Versuch, das Skalierbarkeitsdilemma zu überwinden, das Bitcoin seit dem ersten Wochenende von Bitcoin im Jahr 2008 heimgesucht hat.