Wie sicher und dezentral ist Lightning?

Liebe Blocktrainer-Community,

ich habe ein bisschen recherchiert und festgestellt, dass die aller meisten Quellen Lightning sehr oberflächlich erklären. Auch hier im Forum habe ich zu genau diesen Fragen, die mich beschäftigen, noch nichts gefunden. (Möglicherweise aufgrund der schieren Anzahl der Threads aber auch einfach übersehen) Gefühlt geht es nirgendwo so in die Tiefe, dass man mal verstehen könnte, was Lightning eigentlich auf technischer Ebene sicher und dezentral macht. Mir persönlich ist dieses Verständnis wichtig um Vertrauen in die Lösung zu entwickeln und dann auch damit argumentieren zu können, dass Lightning tatsächlich die Lösung für eine auf Bitcoin basierende Weltwirtschaft sein könnte.

Dabei beziehe ich mich nicht auf den heutigen Zustand wo aktuell nur Peanuts dort bewegt werden, sondern vor allem auf eine potentielle Zukunft.
Angenommen BTC ist die Weltleitwährung, Transaktionen im Mainlayer werden unglaublich teuer, sodass die Menschen (oder Gruppen von Menschen) nur selten Settlements auslösen und es wird üblich mit Lightning zu bezahlen, wie heute mit Paypal. Dann sollte man davon ausgehen, dass die in Lightning eingelagerten Werte sehr hoch werden können.

Angenommen es laufen also sekündlich Millionenwerte über das weltweite Lightning-Netzwerk, dann kann sich ja vielleicht ein Angriff oder eine Zensur möglicherweise „lohnen“. Mir ist bewusst, dass es auch alternative 2nd Layer geben wird/bereits gibt, aber die werden ja die gleichen Hürden nehmen müssen, um den wachsenden Anforderungen gerecht zu werden. Letztlich wird sich zahlender Kunde und empfangender Anbieter immer irgendwie auf ein Netzwerk oder eine interoperable Lösung einigen und dort die entsprechende Liquidität besitzen müssen. Es kann also aus praktischen Gründen nicht unzählige (ernst zu nehmende) 2nd Layer Lösungen geben in denen echte BTC bewegt werden.

Ich habe ein paar Fragen zusammengestellt, auf die ich bisher keine zufriedenstellende Antwort erhalten konnte. Vielleicht weiß hier jemand mehr und kann auch ein bisschen ins Detail gehen (eli12). Ich bin sehr dankbar für alle kompetenten Antworten.

  1. Wie wird bei Lightning ein Doublespend verhindert oder die Zensur/Manipulation von Transaktionen?

  2. Warum kann es Innerhalb des Netzwerks nur Bitcoins geben, die zuvor nachweislich im Mainlayer gelockt wurden, ist ein Inflationsbug innerhalb von Lightning technisch/mathematisch definitiv ausgeschlossen? Wenn ja, warum?

  3. Ist Lightning genauso wie der Bitcoin „unantastbar“ wenn Geheimdienste oder Staaten es auf das Protokoll abgesehen hätten? Gibt es bekannte, theoretische Angriffsvektoren insbesondere in Hinblick auf eine Zeit, in der dieses Netzwerk einen Großteil der globalen, finanziellen Transaktionen schultern würde?

Mir ist bewusst, dass die Geschwindigkeit des Lighning-Netzwerks durch eine reduzierte Sicherheit oder Dezentralität erkauft werden muss. (Sonst hätte Lightning ja das „Trilemma“ gelöst xD) Also stellt sich für mich insbesondere die Frage:

Hat Lightning trotzdem das Zeug dazu die ultimative Lösung für Skalierung zu sein, als die es aktuell gehandelt wird? Wo ist der Haken?

Ich hoffe bald erleuchtet zu werden und danke euch für eure Mühe!

Liebe Grüße,
Sairai

5 „Gefällt mir“

Ich finde diese Frage auch sehr interessant! Schade, dass bisher niemand geantwortet hat.

Die Einordnung der Sicherheit im Vergleich zu anderen Netzwerken fällt mir sehr schwer. Unter der Absicherung eines PoS Netzwerkes kann ich mir etwas vorstellen. Bei Lightning handelt es sich aber nicht um einen Distributed Ledger bzw. um keine eigene Blockchain.

Wikipedia:

Nach einer initialen Funding Transaction zur Öffnung des Kanals können die Knoten selbst beliebig viele weitere Transaktionen untereinander tätigen, ohne sie in der Blockchain zu speichern, wodurch diese entlastet und die Skalierbarkeit verbessert wird.

Dazu halten sie nach jeder Zahlung den aktuellen Saldo in einer Commitment Transaction fest, die von beiden Knoten signiert werden muss.

Die Idee entspricht damit dem Kontokorrent im klassischen Handelsrecht, wobei die Saldierung der Forderungen allerdings erst erfolgt, wenn einer der Teilnehmer den Kanal schließt, indem er eine Settlement Transaction veröffentlicht. Erst diese speichert den finalen Saldo beider Parteien in der letzten Commitment-Transaction wieder in die Blockchain.

Im Vergleich mit den typischen Eigenschaften eines DLTs stellen sich mir deshalb auch die von dir aufgelisteten Fragen. Hier etwas anders formuliert, im Hinblick auf die speziellen Lightning Transaktionstypen:

  • Können Commitment-Transactions von Lightning Nodes zensiert werden? Wird das evtl. durch die Anonymität im Lightning Netzwerk gelöst, da man gar nicht weiß wen man zensiert? (Dezentralität)

  • Können Commitment-Transactions im Nachhinein von Dritten wieder gelöscht werden? (Sicherheit/Finality)

  • Wer hindert einen daran seine Lightning-Bitcoin mehrfach auszugeben, falls das erst bei der späteren Settlement Transaction auffallen würde? (Sicherheit/Finality)
    Oder gibt es doch einen zentralen oder dezentralen Ledger, in dem alle Commitment-Transactions gespeichert werden? Wer legt dann den gültigen Stand fest? (Konsens)

2 „Gefällt mir“

Hi,

Alle deine Fragen lassen sich eigentlich (zumindest oberflächlich :wink: ) mit einer einzigen Aussage beantworten. Lightning ist kein Token! Was im Lightning Network gesendet wird, sind theoretisch „nur“ unlocking scripts zu einem gelockten BTC Betrag.

Hier ein kleines Beispiel: Ich öffne einen Channel zu dir mit einem Gesamtwert von 1BTC der in einer 2-2 Multisig Adresse liegt. Du hast einen Schlüssel und ich den anderen. Zu beginn lasse ich mir eine signierte Transaktion von dir, über den gesamten Channel Betrag ausstellen (Refunding Transaction) um sicher zu stellen, dass meine Coins nicht gelockt bleiben wenn du auf einmal nicht mehr antwortest (Diese Transaktion gilt nur als Sicherheit und wird im Normalfall nicht gesent… Wenn ich dir nun XX Satoshis „schicke“, sende ich dir keine Token auf deine Adresse, sondern baue eine neue Transaction, die nun nicht den gesamten Betrag an mich sendet, sondern XX Satoshi an dich auszahlt und XX an mich und gleichzeitig die refunding Transaction ersetzt. Diese neue Transaktion (Channel State) übersende ich dir signiert. Wenn du diese nun an die Main-Layer sendet, würdest du damit den Channel schließen. Wenn du das nicht tust, können wir weiterhin den Channel State über neue Transaktionen verändern.

Transaktionen im LN sind also nur dann möglich, wenn es eine 2-2 Multisig Adresse im Mainlayer gibt, zu der beide Channel Partner jeweils einen Schlüssel haben. Daher gelten die selben grundlegenden Sicherheiten des Mainlayers auf für LN.

4 „Gefällt mir“

Ich finde alle Fragen super!
Aktuell arbeiten wir an einem Lightning Video. Dafür bereiten wir zuerst einen Artikel vor, woraus dann das Video entsteht.

Gerne würde ich im Video dann auch auf deine Fragen eingehen.
Wenn ich das z.B. im Frag den Trainer mache, fehlt für viele Leute der Bezugspunkt zum LN denke ich… bzw. das Verständnis wie dieses grundlegend funktioniert.

9 „Gefällt mir“

@Egge vielen Dank für deine Antwort. Zu Frage 2 hat mir deine Antwort auf jeden Fall schonmal sehr weiter geholfen. Jetzt macht es für mich auch endlich Sinn, warum man tatsächlich sagt, dass Lightning kein eigener Token ist. Das ändert natürlich Vieles.

Ich bin trotzdem immer noch nicht 100% sicher, ob es nicht innerhalb des Verfahrens tendenziell einen Bug geben könnte (vllt nicht jetzt aber vielleicht irgendwann mal nach einem Update?) der ggf. etwas an den Balances innerhalb des Channels verändern könnte, was sich dann vllt so später im Mainlayer gar nicht mehr setteln lassen würde, was aber bis dahin z.b. vielleicht gar nicht auffällt. Ebenso sind die Punkte Zensur/Manipluation und Dezentralität/potentielle Angriffsvektoren auf Lightning für mich damit noch nicht erschlagen.

Ganz konkret will ich nämlich auch in die Richtung fragen, was es für Probleme gibt, wenn Settlements sehr selten werden, weil sie viel zu teuer sind, denn es gilt hier die gleiche Annahme wie für die anderen Crypto Projekte: Wenn es jetzt funktioniert, dann ist das ja toll, aber es muss halt auch in 40 Jahren funktionieren, wenn ggf. die Last auf dem Netzwerk um das hunderttausendfache angewachsen ist.

In diesem Zusammenhang @Blocktrainer freue ich mich auf jeden Fall auf eure Arbeit zur Aufklärung über Lightning, denn so richtig gut aufbereitet, habe ich es tatsächlich nirgends gefunden, wenn man nicht gerade ein ganzes Buch lesen will. Ihr werdet das großartig machen und ich bin zuversichtlich, da werden einige BAHNBRECHENDE Konzepte aufgedeckt, die meine Fragezeichen verschwinden lassen^^ Wie immer besten Dank für deine/eure Arbeit, du hast meine volle Unterstützung!

Liebe Grüße,
Sairai

Ich habe auch noch ein paar grundlegende Fragen, zu denen ich auch noch kaum was gefunden habe. Dabei würde ich gerne bei Null starten. Bitcoin verstanden, ok. Aber:

  1. Kann ich einen Lightning-Channel alleine aufmachen oder muss das immer mit jemand anderem sein?
  2. Wo werden die Transaktionen „zwischengespeichert“, bis die Bitcoin wieder auf dem Main Layer landen?
  3. Wie viele Satoshi’s sollte man denn in Lightning haben? Irgendwo habe ich mal gesehen, dass man nur Transaktion vermitteln kann, wo man auch den kompletten Betrag quasi als Deckung hat?
  4. Muss man Channel zu anderen aufbauen und wenn ja, wie macht man das?

Wäre schön, wenn du Roman, das in deinem Lightning-Video mit aufnehmen kannst. Am besten erst mal erklären aus Sicht eines Nocoiners.

Das Eröffnen eines Channels dauert dann also mindestens einen Block aber danach kann man „Instant Payment“ in LN durchführen?

Genau! Allerdings müssen Zahlung natürlich nicht über einen direkten Kanal abgewickelt werden. Wenn du eine Zahlung an C senden willst, aber keinen Kanal zu C hast, dafür aber einen zu B und B hat einen zu C, ist das auch möglich :slight_smile:

Ich gehe davon aus, dass beim Schließen des Channels auch wieder eine TX passiert und das für beide TX (Öffnen und Schließen) jeweils eine Fee für das Speichern im nächsten Block bezahlt werden muss.

Wer bezahlt die Fee’s (für Öffnen und Schließen) bzw. wie wird mit den Gebühren in der Regel umgegangen?

Ich hätte auch ein paar Fragen bzgl. Lightning. Das letzte Video des Blocktrainers dazu hat schon geholfen. Jedoch treten bei einer Antwort 5 neue Fragen auf.

  • Wie funktioniert mein Lightning Wallet? Habe ich uneingeschränkten Zugriff auf meine Coins, oder bin ich auf den guten Willen eines Lightning Node, zu dem ich verbunden bin, angewiesen? Kann ich problemlos einen anderen Node wählen?
  • Nodes als Liquiditätsprovider: Was ist wenn einer der Nodebetreiber nicht mehr erreichbar ist? Führt das zu locked Coins, die sozusagen nicht mehr den Node verlassen können? Sobald das passiert wäre ja das „Pegging“ des Mainnets auf Lightning zerstört?
    Das heißt es ist klar, dass bei einem Rug-Pull (in diesem Sinn einem schlagartigen Verlassen des Lightnings in Richtung Mainlayer) einer der Nutzer nicht mehr an seine Coins kommt?
    Ein derartiges Ereignis könnte man mit Währungsflucht ( starker Inflation) aus einem Land vergleichen. Panik => Leute haben Angst um ihre Coins => Kein neuer Zufluss von Main zu Lightning sondern umkehrt. Fehlende Auszahlung von Nodebetreibern, etc. =>
    BTC auf Main wertet stark gegenüber BTC auf Lightning auf (was womöglich wieder einen stabilisierenden Effekt hätte, da BTC auf Lightning billiger wäre).
    Also BTC Lightning != BTC und müsste dementsprechend auch einen eigenen Kurs haben?

Für mich ist es klar, dass ein zweiter Layer nicht dazu gedacht ist, dieselbe Sicherheit wie der Mainlayer zu garantieren. Dafür hat er ja sehr große Vorteile. Das System macht auch Sinn, da man immer die Option hat, seine Coins auf den Mainlayer zurückzubringen.
Für mich persönlich sind die Risiken des Systems noch nicht klar ersichtlich.

Ergibt meine Argumentation hier Sinn, oder habe ich etwas komplett falsch verstanden?

Ich würde mich sehr über Antworten freuen.

Lg

Ich möchte noch folgendes anmerken:

Hier z.B. der Wrapped BTC auf Ethereum Basis:

Bei wrapped BTC garantieren mir Institutionen, dass ich für 1WBTC durch ihren Mechanismus 1BTC bekomme. Solange die Institutionen also funktionieren und das Underlying wirklich haben, werde ich also BTC von Ethereum zu BTC Mainlayer bewegen können. Im Fall eines Fehlers (gewollt/ungewollt) wir dieses Pegging zerstört. Dieses Risiko muss ich einpreisen. Somit gilt für mich persönlich wieder WBTC != BTC.

In diesem Sinn verstehe ich BTCLN als Wrapped BTC auf Basis der Lightning Technologie.
Hier garantieren nun nicht Institutionen sondern Nodes, als dezentrale Betreiber, dass ich BTC von Main auf Lightning (und umgekehrt) bewegen kann. Es ändert für mich jedoch nichts am Vertrauensverhältnis und am Einpreisen des Risikos.

Eine zusätzliche Frage, die mir dazu einfällt:
Ändert das Betreiben eines eigenen Nodes etwas an der Abhängigkeit von diesem Vertrauensverhältnis?

Das ganze soll hier nicht negativ bzgl. Lightning sein. Ich persönlich finde die Entwicklung top.
Ich möchte es nur verstehen und die Risiken richtig abschätzen. Am Ende des Tages wollen wir doch alle ein Stück Eigenverantwortung übernehmen und nicht die Verantwortung abwälzen, falls etwas schief läuft.

Danke vorab für euren Input.