Die Lightning FAQ für Fortgeschrittene

Lightning Strikes. Bild von skyseeker via flickr.com. Lizenz: Creative Commons

Das Lightning Netzwerk bewegt derzeit die Bitcoin-Szene. Für die einen wird es das derzeitige Kapazitätsproblem von Bitcoin lösen und die Rampe für einen neuen Flug zum Mond sein, da es Transaktionen fast endlos skaliert. Mainstream, wir kommen! Für die anderen ist es dagegen nur ein schlechter Witz, der sowieso nicht funktionieren kann. Nun, da Lightning langsam echt wird, versuchen wir in einer FAQ für Fortgeschrittene ein wenig tiefer in die Materie einzusteigen.

Bevor wir anfangen, uns einigen speziellen Fragen zu Lightning zuzuwenden, solltet ihr zumindest in Grundzügen wissen, worum es geht. Hier findet ihr eine Einführung in die Payment Channels, dort die Erklärung, wie aus diesen ein Netzwerk wird. Wer einen Blick aufs “echte” Lightning-Netzwerk werfen will, kann dies beim #recksplorer machen.

Bei der Beantwortung der Fragen hier hat mir teilweise Christian Decker geholfen. Christian wurde mit seiner Promotion an der ETH Zürich zum ersten “Doktor Bitcoin” und arbeitet seitdem bei Blockstream. Dort entwickelt er Lightning-C. Wer ihn auf dem #recksplorer suchen möchte, sollte bei SLEEPYARK nachschauen.

Ist Lightning nun bereit für alle?

Nein, definitiv nicht. Ehrlich gesagt traue ich mich selbst nicht, einen Lightning-Node zu installieren. Alle Lightning-Clients verbinden derzeit noch standardmäßig mit dem Testnet, weil die Entwickler in keinster Weise der Ansicht sind, dass man Lightning schon jetzt für echte Zahlungen verwenden sollte.

Um Lightning zu benutzen braucht man derzeit noch einen Full Bitcoin Node, muss auf diesen den Lightning-Client aufpropfen, die Konfigurationsdatei verändern, um ins Mainnetz zu gehen, und den Client dann mit der Command Line bedienen. Wer sich das zutraut und bereit ist, zur Not auch Geld zu verlieren, kann sich mit den Clients Eclair, C-Lightning und Lightning Network Daemon (lnd) versuchen.

Weder die Software noch das Netzwerk sind bereit für den allgemeinen Zahlungsverkehr. Wann dies soweit sein wird, möchte Christian Decker nicht sagen. “Wir arbeiten so schnell wie wir koennen, aber wir wollen auch sicher sein dass die Gelder der User nicht verloren gehen, bevor wir es für alle einfach machen, es zu nutzen. Die Schwierigkeit, LN aufzusetzen, ist momentan durchaus absichtlich.”

Wie kommen die Bitcoins in die Channels – und wie wieder raus?

Eigentlich ist das extrem einfach. Man macht eine Bitcoin-Überweisung. Sie überweisen die Summe an Bitcoins, die Sie in einen Channel stecken wollen, an eine Adresse, die Ihnen Ihr Client errechnet. Das ist genauso leicht oder schwer wie eine normale Bitcoin-Transaktion, und die Bitcoins, die nun in diesem Channel stecken, sind dieselben Bitcoins wie bei normalen Transaktionen. Sie können sie jederzeit mit einer Transaktion wieder aus dem Channel heraus überweisen.

In den Beispielen, mit denen Payment Channels erklärt werden, geht man meist von beidseitigen Deposits in den Channel aus, also dass beide Partner eines Payment Channels zusammen den Channel mit Coins füllen. Tatsächlich aber unterstützt Lightning derzeit nur ein einseitiges Funding. “Im Moment ist es so, dass der Initiator die Coins liefert, die nachher auf dem Channel hin und her geschickt werden … Während der Lebenszeit eines Channels werden diese Gelder aber auf beide Endpunkte verteilt und es stellt sich ein Gleichgewicht ein.” In Zukunft könnte es möglich sein, Channels auch durch beide Parteien zu füllen, aber dies ist auch von Seiten der Benutzbarkeit nicht eben einfach.

Wie kann man mit Lightning Geld empfangen?

Das einseitige Funding von Channels könnte hier ein Problem werden. Schauen wir uns nochmal die Nodes im #recksplorer an. Sehen Sie die zwanzig Knoten, die ausschließlich einen Channel mit Blockstreams SLEEPYARK haben? Diese haben einen einseitigen Channel mit Blockstream eröffnet und das gesamte Geld, das durch den Channel fließen kann, vorgeschossen. Wie können sie nun über Lightning etwas empfangen?

Der User könnte erstens die Balance des Channels ändern. Das heißt, er kauft noch mehr Sticker im Shop bei Blockstream, oder er nutzt Blockstream als Zwischenstopp, um etwa bei BitRefill Gutscheinkarten zu kaufen. Mit dem Channel kann er dann so viel Geld, wie er ausgeben hat, empfangen.

“Die einfachste Variante,” erklärt Decker,  “in diesem Fall ist jedoch, dass der Sender einen neuen Channel zu einem aufbaut, und diesen für diese Zahlung und alle zukünftigen verwendet.” Das hört sich für den Anfang aufwendig an, doch man sollte bedenken, dass das Lightning Netzwerk desto besser wird, je mehr Channels es gibt. Wer einen ein- und einen ausgehenden Channel hat, hat im besten Fall ausreichend Kapazitäten, um sowohl Geld zu empfangen als auch zu versenden.

Kann man nur bestimmte Beträge empfangen?

Ja. Spontane Zahlungen sind derzeit nicht möglich, man braucht eine Zahlungsanweisung, die auch den Betrag enthält. Der Grund ist, dass man “für die sichere Weiterleitung einen Hash benötigt, zu dem der Empfänger ein Preimage hat.” Sie müssen es im Detail nicht verstehen. Stellen Sie es sich wie eine Quittung vor, die jeder Knoten, der an einer Zahlung beteiligt ist, braucht. “Wir arbeiten aber auch an einem System mit dem der Absender dieses Preimage erstellt und dem Empfänger sicher zukommen lässt. Damit sind dann auch solche Spontanen oder Wiederholten Zahlungen möglich, wie zum Beispiel für Spenden.” Derzeit ist dies aber noch nicht möglich.

Wie viele Transaktionen werden derzeit durch Lightning prozessiert?

Tja, wir wissen es nicht, und wir werden es niemals wissen. Man kann zwar die ursprünglichen Transaktionen sehen, mit der ein Channel gebildet wurde. “Was den aktuellen Stand angeht, also wem der beiden Endpunkte wie viel gehört, das ist nicht einsehbar,” erklärt Christian Decker. Die Gründe sind, das sich die Balance innerhalb eines Channels sehr schnell ändert, und dass dies auch nicht gewollt ist, da es ein Privacy Leak wäre: “Wenn ich nachverfolgen kann, welche Channels der Reihe nach 123 Satoshis verschieben, kann ich nachvollziehen, woher und wohin die Zahlung ging.” Und genau dies soll nicht der Fall sein.

Gibt es nun einen Routing-Algorithmus oder nicht?

Einer der großen Kritikpunkte an Lightning ist, dass es angeblich noch keinen dezentralen Routing-Algorithmus gibt. Man kann Payment-Channels aufbauen, man kann sogar Zahlungen durch eine Kette von Payment-Channels schicken, aber es gibt noch kein Rezept, ohne Hilfe eines zentralen Super-Knotens eine Route durch die Channels zu finden. Oder?

“Das ist nicht korrekt,” meint Decker. “Die heutigen Implementierungen haben einen funktionierenden Gossip Mechanismus, mit dem sich die Knoten im Netzwerk Informationen über Channels und andere Knoten zukommen lassen.” Jeder Knoten fragt also im Netzwerk so lange herum, bis er ein möglichst vollständiges Bild aller Knoten und Channels hat. Dazu braucht er keine zentrale Instanz.

Dieses Modell hat jedoch zwei Probleme: Zum einen könnte es irgendwann zu Problemen mit der Skalierbarkeit führen. Je größer das Netzwerk, desto mehr Informationen müssen die Knoten austauschen und speichern, um Routen finden zu können. Zum anderen können die Knoten nur erfahren, ob es einen Channel gibt – aber nicht, wie dessen Balance ist. Das ist, wie wir eben gelernt haben, privat. Auf der “Landkarte”, die sich jeder Knoten bildet, geht er daher davon aus, dass die Channels ausbalanciert sind. “Sollte dies nicht der Fall sein, dann schlägt die Route fehl, aber der Sender wird automatisch eine andere Route ausprobieren, bis es klappt.”

Ist Lightning zentraler als Bitcoin?

Wenn man sich das Lightning-Netzwerk im #recksplorer anschaut, wird man nicht umhin kommen, gewisse zentralistische Tendenzen wahrzunehmen.

Es gibt 168 Knoten und insgesamt 400 Channels. Dieses geringe Verhältnis von Knoten (vertices) und Verbindungen (edges) ergibt ein extrem dürres (sparse) Netzwerk. Bei Bitcoin hingegen haben 168 Knoten mindestens 1400 und maximal etwa 10.000 Verbindungen (jeder Knoten hat mindestens 8 und maximal 125 Peers).

Eine kleine Handvoll von Knoten – derzeit fünf – hat mehr als zehn Channels, zum Teil sogar mehr als zwanzig, und eine weitere Gruppe hat 5-10 Channels. Der mit Abstand größte Teil der Knoten hat hingegen nur einen oder zwei Channels.

Dies macht das Netzwerk deutlich zentralisierter als Bitcoin. Wenn beispielsweise der von Blockstream betriebene Knoten SLEEPYARK wegbricht, werden etwa 20 andere Knoten jeglichen Zugang zum Netzwerk verlieren. Wenn zudem noch drei bis vier weitere Super-Hubs ausfallen, wird es für so gut wie alle Teilnehmer des Netzes kaum mehr möglich sein, überhaupt noch Transaktionen zu versenden. Bei Bitcoin hingegen wäre es gar nicht zu bemerken, wenn einzelne von 168 Knoten ausfallen. Damit erfüllt Lightning die Definition eines zentralen Systems.

Allerdings ist dies nicht weiter schlimm. Die Basis-Schicht von Bitcoin, das P2P Netzwerk, bleibt ja weiterhin vollkommen dezentral, und Lightning hilft ja dabei, dass dies so bleibt. Das Netzwerk aus Payment Channels ist lediglich eine aufgesetzte Schicht, die eine sehr große Anzahl fast kostenloser Transaktionen ermöglicht. Da Lightning zudem so gebaut ist, dass die großen Hubs weder überwachen noch Coins stehlen können, ist eine Zentralisierung in diesem Netzwerk an sich kein grundsätzliches Problem. Sie ist sogar zu begrüßen, da sie hilft, die Genese des Netzwerkes zu beschleunigen.

Muss ich immer online sein, wenn ich Lightning benutze?

Im Prinzip ja. Denn der Gegenpart könnte den Channel mit einem alten Zustand schließen und damit eine bereits getätigte Zahlung rückgängig machen. Nehmen Sie an, ich hätte Ihnen in einem Channel erst 100, dann 200, dann 300, dann 500 Satoshi gesendet. Theoretisch könnte ich nun einfach eine alte Transaktion veröffentlichen und den Channel nicht mit dem aktuellsten, sondern mit einem veralteten Stand schließen, als ich Ihnen noch weniger überweisen habe.

Glücklicherweise ist Lightning nun so konstruiert, dass derjenige, der den anderen beim Betrügen erwischt, die Möglichkeit hat, den gesamten Channel zu seinen Gunsten aufzulösen. Sprich: Wer beim Cheaten ertappt wird, verliert alles.

Der Grund, dass dies möglich ist, sind Smart Contracts, die dafür sorgen, dass die Bitcoins, die bei einer den Channel schließenden Transaktion überwiesen werden, erst nach einer bestimmten Anzahl von Blöcken wieder ausgegeben werden können, und dass es einen Mechanismus gibt, der es unter bestimmten Umständen dem anderen erlaubt, diese Bitcoin schon zuvor auszugeben. Wenn Sie die Details interessieren, sollten Sie sich den Artikel zum Aufbau der Channels durchlesen.

Wenn man die Transaktion nun etwa so einstellt, dass die Bitcoins erst nach 144 Blöcken ausgegeben werden können, reicht es, wenn Sie einmal am Tag online gehen, um jede Art von Betrug zu verhindern (und im Falle des Falles sogar davon zu profitieren). Wenn Sie wollen, können Sie die Schwelle auch auf eine Woche erhöhen. Dies hat allerdings den Nachteil, dass die Bitcoins, die Sie in einen Channel gesteckt haben, eben nicht ganz so flexibel auszugeben sind wie normale Bitcoins.

Wie lange diese Zeit ist, hängt von der Implementierung ab. “C-lightning hat einen Default von 6 Blöcken, also ungefähr 1 Stunde … Die Reaktion ist automatisch in allen Clients, und man muss nur den Client am laufen lassen, also nicht selber eingreifen.” Christian Decker meint, dass das Risiko eher gering ist: “Der Timer startet erst ab dem Zeitpunkt, an dem er den alten Zustand ins Netzwerk schickt, und wenn man vor dem Timeout wieder online ist, verliert der Angreifer sein gesamtes Guthaben im Channel.” Die Spieltheorie arbeitet also für einen und gegen den Angreifer.

Wird es eine Light-Wallet geben, oder braucht jeder einen Full Node?

Bislang gibt es noch keine Light-Wallet. Lightning funktioniert nur mit einem Full Node. Allerdings ist die Light-Wallet schon “stark in der Entwicklung”. Es ist geplant, dass “die kritischen Informationen, die on-chain passieren, auch über das overlay Netzwerk weiter” geleitet werden. Außerdem sollte es möglich sein, die heute bestehenden SPV-Wallets (ist eine Form von Light-Wallets) kompatibel mit Lightning zu machen. Aber dies wird noch ein Stückchen dauern.

About Christoph Bergmann (1192 Articles)
Das Bitcoinblog wird von bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Wenn Ihnen das Blog gefällt, freuen wir uns über Spenden. Sie können Bitcoin oder Bitcoin Cash an die folgende Adresse spenden: 1BvayiASVCmGmg4WUJmyRHoNevWWo5snqC Weitere Adressen (bech32, SegWit, Litecoin, Ethereum) finden Sie HIER. Um uns beiden Gebühren zu sparen, sollten Sie diese Seite unbedingt anklicken. Dort erfahren Sie auch, wie Sie das Bitcoinblog anderweitig unterstützen können. Meinen öffentlichen PGP-Schlüssel sowie den Bitmessage-Schlüssel finden Sie HIER. Wer anonym einen Tipp oder einen Gastbeitrag einreichen will, sollte davon Gebrauch machen.

27 Comments on Die Lightning FAQ für Fortgeschrittene

  1. Angeblich soll LN ja zu Zentralisierung führen durch wenige große Hubs. Mich würde mal interessieren, wieso das ein Problem sein soll. Wenn ein Hub unkooperativ wird, dann routet man einfach drum herum, oder nicht?

    Es gibt auch das Argument, dass es keinen skalierbaren Routing-Algorithmus gibt. Mir scheint, dass es für Clients kein Problem wäre, einige Millionen Nodes zu tracken. Wenn 2 Leute Geld austauschen wollen, dann wird es doch sicher irgend eine Überlappung der Mengen der bekannten Nodes geben, so dass man eine Route aufbauen kann. Es dürften sich auch Hilfsserver für Routing bilden, die auf leistungsfähigen Servern einfach alle 10 Milliarden Nodes tracken, die es mal geben könnte. Diese Server könnten gemeinnützig sein oder selbst durch LN ein Micropayment als Gebühr erhalten. Das wäre dann nicht 100% trustless, aber in der Praxis scheint es mir völlig ausreichend.

    Die meisten Zahlungen werden sowieso stark geographisch geclustered sein, so dass die Meisten Fälle durch unskalierbare Algorithmen abgebildet werden können.

    Ich hoffe, das macht so Sinn 🙂 Diese Aspekte würden mich mal interessieren.

    • So wie ich das verstehe werden nur verschlüsselte Signaturen verschickt und gar keine Transaktionen oder? Auch wenn das LN zentral ist wäre es nicht schlimm da ja sie verschlüsselt sind.

      • Der Kernpunkt bei Kryptowährungen ist, dass keiner dich hindern kann zu überweisen. Solange das im LN erhalten bleibt, notfalls einfach durch Wechsel des “Mittelsmanns”, dann sollte das OK sein.

  2. Sonst bist Du ja immer gut informiert, aber dieser Artikel erscheint eher oberflächlich zusammengeschustert. Vielleicht wäre es besser gewesen, direkt ein Interview zu führen, statt Christian Decker mit gefährlichem Halbwissen pseudokritische Fragen zu stellen?

    Danke für den Artikel, aber qualitativ geht da noch mehr.

    Mit dem “Lightning Megathread” bist Du sicher vertraut, trotzdem nochmal: https://www.reddit.com/r/Bitcoin/comments/7pwna9/lightning_network_megathread/

    • Oh, eine Pauschalkritik ohne Beispiel. Was an dem Artikel stimmt denn nicht, und wie ist es richtig? Ich bin immer offen dafür, mich selbst zu korrigieren, aber der Kommentar hilft nicht wirklich weiter.

      • pebwindkraft // 26. January 2018 at 8:47 //

        ich vermute mal, das liegt an zwei Dingen: Zentralisierung und Routing. Das wird sehr kontrovers in allen Foren diskutiert, obwohl die Technik in der Entwicklung ist, wissen die meisten, die keine Ahnung haben, bzw. keine Messwerte besitzen, dass es in der Zukunft “mögliche Probleme damit geben kann”. Und in dem Thread ist eine klar Abgrenzung gegen diese schwammigen Aussagen zu erkennen. Wobei ich aber sagen möchte, dass ich Dir dankbar für die Aufklärungsarbeit bin, und bitte weiter so!

        Die Konstruktion, das Wort “zentralisiert” als buh-Wort für das System zu verwenden, halte ich für falsch. Zunächst ist Zentralisierung in seiner Wortbedeutung ja, die Funktionen von verschiedenen/verteilten Standorten an einem Punkt zu bündeln. Dahinter steckt der Gedanke, dass man eine bessere Kontrolle (sic!) über eine solch zentralisiertes System hat. Und da zucken wir zusammen: Kontrolle… wie wir aus MtGox & Co Erfahrungen gelernt haben. Also ist Zentralisierung für Bitcoin schlecht, und damit Lightning natürlich auch so. Per se. Das liest man auch in anderen Foren, insbesondere bei den Anhängern der Shitcoins. “Hab zwar keine Ahnung, wie Lightning funktioniert, aber das ist ja eh zentralisiert, geht ma ga nich”. Bitcointalk ist voll davon. Nun ja, dann ist das Internet eben auch WELTWEIT ZENTRALISIERT (oh, coole Wortkombi, fällt mir jetzt erst auf). Routet das Internet nicht auch um defekte Knoten herum? Mit einer Belastung, die jedem Bitcoin Fan die Tränen in die Augen treibt? Also hier müsste man mal überlegen, ob man weiter so von Zentralisierung sprechen kann. Oder besser so was wie “es ist momentan nicht klar, ob eine Kontrolle des Systems von einer EINZELNEN Instanz ausgeschlossen werden kann”. Das Bild dass Du gezeigt hast, zeigt ein Mesh Netz, mit grossen und kleinen Knoten – wie in der realen Welt. Zentralisiert würde heissen, alles geht an EINEN Knoten, der EINER Firma gehört, und von EINER Gruppe manipuliert werden kann. Mich zwingt jedenfalls niemand, einen Knoten mit dieser EINEN Firma aufzubauen, ich kann auch wo anders lang.

        Ein weiterer Punkt ist das Unverständnis des Routingverhaltens, mit diffusen Befürchtungen in die Zukunft, dass das so nicht gehen kann (“könnte zu Problemen in der Zukunft führen”). Klare Muschelwerf-Vorhersage. Genauer wäre dann schon: wenn ich morgen 1000 Exa-Bytes pro Sekunde durch den DENIC Knoten schicke, dann skaliert der auch nicht, weil er nur 1 Exa-Byte verarbeiten kann. Aber keiner hat ne Ahnung, wie sich das im Moment im Lightning Netzwerk auswirkt, Also muss man es testen, und schon kommen die Leute aus ihren Höhlen und schreien, dass es da Zukunftsprobleme gibt. Bleibt doch bei Zukunftsängsten in den Höhlen, ist doch ok. Oder bei Bitcoin Cash – da braucht ihr kein Lightning. Da ist die Welt wunderbar (gibt ja auch keine nennenswerte Transaktionen). Die meisten Nutzer haben nie was mit Routing zu tun, wenn es hoch kommt müssen sie mal bei Ihrem Home Router einen Port öffnen. Was der aber genau macht, ist ihnen genauso unklar, wie die Protokolle RIP, OSPF und dann BGP. Gerade letzteres ist in der Diskussion für Lighntning Knoten interessant. Die OpenBSD Jungs haben da was wirklich Wichtiges geschaffen, was unter OpenSource auch noch frei verfügbar wäre. Und Anleihen davon in Lightning umzusetzen, meine ich schon vor 2 Jahren gehört zu haben. Und schliesslich skalieren die Protokolle ja auch. Warum sollte das nicht bei Einsatz mit Lightning möglich sein? Wir werden sehen. Wenn jemand heute schon weiss, warum das nicht gehen kann, dann bitte mit Zahlen im richtigen Kontext untermauern.

      • Naja, genau mit dem Zentralisierungs-Vorurteil räume ich doch aus, oder? Es ist unvermeidbar, dass das Lightning Netzwerk stärker zentralisierte / semizentralisierte Strukturen haben wird als das Bitcoin-Netzwerk. Aber es gibt eine ziemlich große Spannbreite zwischen “1-Server-&-Millionen-Clients” und dem Dezentralisierungsgrad von Bitcoin. Dass LN hier irgendwo dazwischen ist, ist nicht nur nicht schlimm, sondern gewollt. Man könnte sogar sagen, dass genau das die Stärke von LN ist …

      • pebwindkraft // 26. January 2018 at 8:48 //

        Korrektur: … ist eine klar Abgrenzung gegen diese schwammigen Aussagen zu *NICHT* erkennen.

  3. Zum Routing sind sicher noch einige Fragen offen. Es ist zwar aus Datenschutzgründen sehr gut, dass die Kapazitäten der Channels geheim sind, für Routingzwecke ist das aber eine Katastrophe. Der Sender muss zigmal versuchen eine Transakltion durchzubekommen und dabei immer andere Routen wählen. Ist es der letzte Channel an dem die Transaktion scheitert, für den es zudem keine Alternativrouten gibt, so kann jede Transaktion endlos viele Versuche erfordern. Man weiss ja nicht woran es hängt. Zudem können Race Conditions zwischen den Nodes einen Channel auch nach gefundener Route unbrauchbar machen.

    Sofern dann wirklich ca. 5 Transaktionen pro Sekunde durch das Netz laufen, also ähnlich wie das momentane Bitcoin Netz, dann wird das sehr viel Traffic erzeugen, da eine Transaktion + Routing vermutlich um Grössenordnungen mehr Traffic erzeugt als eine onchain Bitcoin Transaktion. Vermutlich wird man dann Lightning Nodes nur im Rechenzentrum finden können.

    • Ich würde sagen, eine Transaktion erzeugt mehr Traffic für die beteiligten Nodes, aber nicht für das ganze Netzwerk.

      Bei Bitcoin muss jeder Node 5 Tx je Sekunde verarbeiten. Bei LN ist es selbst bei netzwerkweiten 5tx/s nur ein Bruchteil davon, da die meisten Nodes ja nichts mit der Transaktion zu tun haben. Daher sollte es kein Problem sein, wenn der Aufwand der beteiligten Nodes 100 oder 1000 Mal größer ist als bei normalen Transaktionen (vermutlich ist er das nicht).

      Problematischer finde ich, dass die unbekannten Balances die Routen vermutlich verlängern, was bedeutet, dass mehr Coins gelockt werden müssen …

      Was mir auch noch nicht klar ist, ist, wie die Gebühren gehandhabt werden …

      • Soweit ich weiß muss man ja nur zu wenigen Nodes (es wird immer die Zahl 4 genannt) einen Channel aufmachen und das ein Mal pro Monat. Wenn sich die Routen ändern, dann muss der User keinen neuen Channel aufmachen, sofern er mit einem der vorhandenen Channels eine neue Route bilden kann. Ständiges neurouten bzw. Wegfall von Routen sollte also zu kaum mehr Channels führen.

  4. Also Zentralisierung, die Fähigkeit zu Smart Contracts ‚draufgepatched‘ und dazu noch muß man ständig online sein. Trotzdem sind die Transaktionen dann noch nichtmal ausgeführt, sondern (wie bei allen Payment Channeln) nur zu Clustern mit optimierten Gebühren zusammengefaßt. Was für ein Murks. Aber das liegt nichtmal an Lightning selbst, sondern das will eigentlich nur ein Patch für eine zugrundeliegende dysfunktionale Blockchain sein. Damit taugt Lightning schon für etwas, nämlich für den Beweis, daß BTC für Bezahlvorgänge nun unrettbar unbrauchbar ist. Das kommt davon, wenn man bei der Konstruktion einer Alternativwährung nicht aus der Vergangenheit lernen will!
    乱馬

    • Man darf nicht vergessen, Bitcoin ist deswegen teuer und langsam und alle anderen billig und schnell, weil bei den anderen die Blöcke noch nicht voll sind. Werden die Altcoins so genutzt wie Bitcoin, ist auch dort Ende mit billig. Blockchains skalieren grundsätzlich nicht, das war aber auch schon zur Zeit von Satoshi kein Geheimnis.
      Sämtliche Bitcoin Transaktionen könnte man zentralisiert auf einem Mittelklasse-Server verarbeiten. Allerdings eben angreifbar, wer erinnert sich an Liberty Reserve und co?

      Zentralisierung hat aber grosse Vorteile in der Effizienz. Mit Lightning wird genau das möglich, was viele für ein böses Wort halten. “Bitcoin-Banken”. Ich denke nicht dass man dort über 10 Hops quer durchs Netz zahlen wird, das wird technisch viel zu aufwendig.
      Stattdessen zahlt man in 2-3 Hops. A-> Bank A -> Bank B -> B. Auch für das Auffüllen (Rebalancieren) eines Kanals zahlt man dann z.B. einfach Fiat an Bank A oder B, statt den Channel zu schliessen und neu zu eröffnen.

      Was ist nun der Vorteil von Lightning anstatt einfach z.B. mit Coinbase Guthaben zu zahlen? Es ist trustless! Wird eine der Banken zugemacht oder will mit dem Guthaben der Kunden verschwinden, so machen einfach alle Kunden ihre Channels zu und es geht kein Geld verloren. Lightning ist also sozusagen das besste aus beiden Welten. Zentralisierte “Banken” aber ein vertrauensloses, dezentrales, zensurresistentes Netzwerk darunter.

    • @Ranma:
      “Zentralisierung”: Hier nicht unbedingt mit Nachteilen behaftet, da die zentralen Nodes weniger Macht haben, austauschbar sind und die dezentralste Blockchain weiterhin zur Verfügung steht.

      “smart contracts draufgepatched”: jede nachträgliche Erweiterung von Software ist also nicht in deinem Sinne? So läuft Produktpflege in der SW-Entwicklung nunmal, auch bei anderen cryptoprojekten.

      “ständig online sein”: in regelmäßigen Abständen (z.b einmal am Tag) ja, ständig nein. Ggf etablieren sich hierfür Dienste. Perspektivisch wird ständig online sein von jahr zu jahr weniger problematisch

      “noch nichtmal ausgeführt”: nur nach deiner definition von ausgeführt. die coins lassen sich ja unmittelbar weiterverwenden für andere zahlungen im LN. Mit wenig Aufwand auch in der Blockchain.

      Fazit: deine punkte sind einfach polemisch und unbelegt.
      Wenn technischen Probleme beim Routing gelöst werden, steht da eine sehr solide zweite Schicht für btc bereit.

      • „Fazit: deine punkte sind einfach polemisch und unbelegt.“

        Warum hast du dann jedem einzelnem davon zugestimmt? Oder ist dir das nichtmal aufgefallen?
        乱馬

      • Er hat dir nicht zugestimmt.. nirgends.. Wenn man Haare hochkant spaltet, hat er dir unter dem Punkt “Zentralisierung” zugestimmt; Aber auch nur teilweise und unter Vorbehalt.

  5. Das LN Netzwerk wächst ab ganz schön.Mittlerweile schon 203 Nodes und 544 Channels

  6. Benjamin Bitcoin // 25. January 2018 at 23:50 // Reply

    Dass man ein Fullnode benötigt ist falsch. Die Eclair-Wallet funktioniert ohne eigenen Fullnode.

  7. Hallo! Danke für den Artikel! Habe ich es richtig verstanden, dass aktuell nur eine Seite Transaktionen tätigen kann, nämlich die, die den Fund hinterlegt hat? Und ist es richtig, dass ich nur so lange überweisen kann, wie Fund da ist? Denn nur dann verstehe ich diesen Punkt: “Glücklicherweise ist Lightning nun so konstruiert, dass derjenige, der den anderen beim Betrügen erwischt, die Möglichkeit hat, den gesamten Channel zu seinen Gunsten aufzulösen. Sprich: Wer beim Cheaten ertappt wird, verliert alles.” Denn dann ist die andere Person safe, wenn ich betrüge. Ansonsten wäre es sehr einseitig, oder? Ich habe Knoten in meinem Kopf. Schon mal vielen Dank! 🙂

    • Update von mir selbst: Ich glaube ich habe es selbst verstanden mittlerweile. Zur Vertiefung. Im Artikel steht “Mit dem Channel kann er dann so viel Geld, wie er ausgeben hat, empfangen.” Liegt das daran, dass der Fund immer nur zwischen mir und dem Channel vorliegt richtig? Also habe ich z.B. 10 BTC im Channel mit Blockstream könnte ich tatsächlich Geld verlieren, wenn mir z.B. Bitrefill 20 BTC schickt und später behauptet, diese Überweisung hätte nie stattgefunden. Dann hätte ich nämlich 10 verloren, trotz meines Funds. Richtig? Hab ich es? Sorry, wenn ich so auf dem Schlauch stehe. 🙂

      • Ich bin mir nicht ganz sicher, ob ich deine Erklärung verstehe … Haben Sie die beiden Einführungs-Artikel zu LN gelesen? Das könnte eventuell helfen …

        > Liegt das daran, dass der Fund immer nur zwischen mir und dem Channel vorliegt richtig?

        Das stimmt ungefährt. Wenn ich bei Blockstream im Shop einkaufe, öffne ich einen Channel. Den kann man derzeit nur einseitig funden, d.h ich stecke 1 BTC rein. Das ist die maximale Kapazität die dieser Channel jemals haben kann – die Transaktion, die ihn eröffnet. Am Anfang ist dieser Channel einseitig, d.h. ich kann diesen einen BTC nur in eine Richtung schubsen, hin zu Blockstream. Nachdem ich Blockstream 0,1 BTC für einen teuren Sticker überwiesen habe, kann ich 0,1 BTC empfangen, indem jmd Blockstream als MIttelsmann benutzt.

        Ein bißchen klarer?

        > Also habe ich z.B. 10 BTC im Channel mit Blockstream könnte ich tatsächlich Geld verlieren, wenn mir z.B. Bitrefill 20 BTC schickt und später behauptet, diese Überweisung hätte nie stattgefunden. Dann hätte ich nämlich 10 verloren, trotz meines Funds

        Das habe ich nicht ganz kapiert. Wenn Ihr Channel nur 10 BTC fasst, kann Ihnen Bitrefill keine 20 BTC schicken. Die Nachweisbarkeit, ob eine Zahlung stattgefunden hat oder nicht, dürfte in der Tat ein komplexes und schwieriges Thema werden.

      • > Also habe ich z.B. 10 BTC im Channel mit Blockstream könnte ich tatsächlich Geld verlieren, wenn mir z.B. Bitrefill 20 BTC schickt und später behauptet, diese Überweisung hätte nie stattgefunden

        Nein, da bist Du auf dem falschen Dampfer: Bitrefill hat in dem Fall ja keinen Channel mit Dir, sondern mit Blockstream. D.h. mit der justice transaction könnte Bitrefill nur an Geld von Blockstream kommen (und wie jemand anders schon geschrieben hat, über einen 10 BTC-Channel können eh keine 20 BTC gehen).

        Das mit dem Beweis, dass die Überweisung stattgefunden hat, ist extrem simpel, bzw. ist das einfach Teil des Überweisungskonstrukts. Kurz gesagt:

        – Du schickst Bitrefill (direkt, nicht über LN) einen Zufallswert X.
        – Bitrefill gibt Blockstream eine Transaktion, die sagt “wenn Du X kennst, geb ich Dir 10 BTC” (Smart Contract)
        – Blockstream schickt Dir eine Transaktion, die sagt “wenn Du mir X sagst, geb ich Dir 10 BTC”

        => Du sagst X, kriegst Deine 10 BTC, Blockstream gibt X an Bitrefill weiter und kriegt seine 10 BTC ==> mission accomplished

        Ich hab jetzt ein paar Detais weggelassen, aber es gibt (auf lightning.network glaub ich) eine Präsentation, die das fundierter darstellt

  8. Sehr schöner Artikel. Gut und Verständlich geschrieben.
    Danke fürs teilen.

    Thomas M.
    https://www.bitcoin-zeit.de

  9. Super! Danke für die Antwort. Ich hatte die ersten Berichte dazu schon gelesen 🙂 Mittlerweile habe ich aber fast alles verstanden.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s