Wie funktioniert das Lightning-Netzwerk in einfachen Worten?

  • Können Sie bitte beschreiben, wie das Lightning-Netzwerk funktionieren soll?
  • Wie lässt es sich besser skalieren als reine Blockchain-Transaktionen?
  • Was sind die Vor- und Nachteile von Lightning Network- und Blockchain-Transaktionen?
Die Leute müssen verstehen, dass grafische Visualisierung und "Szenen" der beste Weg sind, um sequentielle Verarbeitung und Abhängigkeiten zu beschreiben, anstatt auf eine Textwand zu schauen

Antworten (3)

Angenommen, Sie und ich möchten einen Zahlungskanal eröffnen.

1) Geld in Lightning
einzahlen Wir senden beide 0,05 BTC an eine gemeinsame 2-von-2-Multisig-Adresse. Dazu ist eine Transaktion auf der Bitcoin-Blockchain erforderlich.
Als „Bilanz“ erstellen wir jeweils eine 2-von-2-Multisig-Transaktion, die 0,05 BTC an Sie und 0,05 BTC an mich auszahlt. Ich unterschreibe eine Auszahlungstransaktion und gebe sie Ihnen. Wenn Sie es in Kraft setzen möchten, müssen Sie nur Ihre eigene Signatur hinzufügen und an das Bitcoin-Netzwerk senden. Umgekehrt geben Sie mir Ihre Kopie der Auszahlungstransaktion, die Sie unterschrieben haben und ich noch nicht.

Diese "Bilanzen" sind reguläre 2-von-2-Multisig-Transaktionen im Bitcoin-Netzwerk, sie sind nur noch nicht gültig, weil ihnen jeweils eine Signatur fehlt. Beachten Sie, dass diese einseitigen Auszahlungstransaktionen die ausgezahlten Gelder der ausführenden Partei für einige Zeit sperren.

2) Zahlung
Jetzt möchte ich Ihnen 0,01 BTC zahlen. Wir erstellen jeweils wie zuvor eine neue Auszahlungstransaktion ("Bilanz"), aber diese besagt, dass Sie 0,06 BTC erhalten und ich 0,04 BTC. Jeder von uns bekommt wie bisher eine vom anderen unterschriebene Transaktion.
Um sicherzustellen, dass keiner von uns die alte Auszahlungstransaktion verwenden kann, die der andere zuvor unterzeichnet hat, erstellen wir beide eine "Anti-Cheat"-Transaktion: Es ist eine Transaktion, die die Ausgaben unserer ersten Auszahlungstransaktion für die andere ausgibt.

Das heißt, wenn ich versuche, die (inzwischen veraltete) 0,05 - 0,05 BTC-Bilanz zu aktivieren, werden meine ausgezahlten Gelder für eine Reihe von Blöcken gesperrt. Dies gibt Ihnen Zeit, die „Anti-Cheat“-Transaktion zu übertragen, in der ich unterschrieben habe, dass meine 0,05 BTC-Ausgabe an Sie gesendet wird.

Trotzdem kann ich Ihnen und dem gesamten Netzwerk diese Transaktion sicher geben, da der "Anti-Cheat" nur als Reaktion auf die betrügerische Verwendung einer alten Bilanz aktiviert werden kann. Übrigens ist dieser Anti-Cheat-Mechanismus der Grund, warum Lightning den Transaction Malleability-Fix ​​von Segregated Witness benötigt.
Mit der oben beschriebenen Einrichtung müsste ich online sein, um Sie bei einem Betrugsversuch zu erwischen, aber natürlich wäre es für mich nicht sicher, Zahlungskanäle offen zu halten, wenn ich die ganze Zeit online bleiben müsste. Um andere zu ermutigen, bei der „Anti-Cheat“-Transaktion zu helfen, haben wir einen kleinen Teil der „Anti-Cheat“-Auszahlung als Prämie festgelegt, die jeder ausgeben kann. Jetzt können wir die Anti-Cheat-Transaktion allen Knoten im Netzwerk anvertrauen, sodass jeder auf die Übertragung alter Bilanzen achten kann. Wenn es passiert, kann jeder das Kopfgeld auf sich selbst unterschreiben und den "Anti-Cheat" übertragen.

3) Netzwerkzahlung
Okay, jetzt können Sie und ich tausende Male Geld hin und her senden, mit fast sofortiger Wirkung (abhängig davon, wie schnell wir miteinander kommunizieren können), ohne eine einzige Transaktion zur Bitcoin-Blockchain hinzuzufügen. Auf der anderen Seite würden sie, wenn einer von uns jemals versuchen würde, den anderen zu betrügen, sofort vor Gericht gebracht werden, indem der Streit auf der Blockchain zu ihrem eigenen Nachteil beigelegt würde. Ziemlich schick, aber noch nicht sehr nützlich.
Durch die Theorie der sechs Trennungsgrade, ist jeder durch nur wenige Hops mit jedem anderen Teilnehmer verbunden. Angenommen, Sie möchten Bob, der Barista ist, Geld schicken und Ihnen gerade einen Kaffee gekocht haben. Bob ist ein Freund von Alice, während ich einen Zahlungskanal mit Alice habe. Nehmen wir zur Veranschaulichung an, dass jeder Zahlungskanal zwei BTC enthält, die zu gleichen Teilen aufgeteilt sind. Sie haben keine direkte Verbindung zu Bob.

Unser „Netzwerk“ sieht nun so aus:

   You <-- 1BTC ----- 1BTC --> Me <-- 1BTC ----- 1BTC --> Alice  <-- 1BTC ----- 1BTC --> Bob

Da Sie keinen direkten Zahlungskanal zu Bob haben (und es sehr ineffizient wäre, wenn Sie mit jedem Geschäftspartner, den Sie jemals treffen, einen Zahlungskanal erstellen müssten), leiten Sie Ihre Zahlung über das Netzwerk weiter. Anstatt wie oben beschrieben nur eine Aktualisierung des Saldos zwischen Bob und Ihnen zu schreiben, wird dies zu einer konzertierten Anstrengung: Ihre Brieftasche findet eine Route von Ihnen zu Bob, die a) ausreichend Liquidität, b) die geringsten Gebühren und c) die wenigsten Sprünge hat . Um eine Zahlung zu tätigen, aktualisiert jeder beteiligte Zahlungskanal seine Salden. Mit einer Zahlung von 0,01 BTC für den Kaffee aktualisiert dies unser Netzwerk auf:

   You <-- 0.99BTC ----- 1.01BTC --> Me <-- 0.99BTC ----- 1.01BTC --> Alice  <-- 0.99BTC ----- 1.01BTC --> Bob

Wie Sie sehen können, haben sich die Salden an den Enden entsprechend von Ihnen zu Bob verschoben, aber die anderen Teilnehmer haben denselben Saldo (obwohl sie auf andere Zahlungskanäle verschoben wurden). Es ist wichtig zu wissen, dass die Transaktion nur vollständig oder gar nicht durchgeführt werden kann . Entweder aktualisieren wir alle die Salden oder niemand tut es.

Stellen Sie sich nun vor, Sie haben nicht nur den einen Zahlungskanal mit mir, sondern Sie haben vielleicht ein Dutzend Zahlungskanäle mit anderen Benutzern! :)

4) Einvernehmliches Schließen eines Kanals
Anders als im obigen Fall, in dem eine Seite den Kanal einseitig schließt, kann einer von uns den anderen auffordern, einen Kanal einvernehmlich zu schließen. Wenn wir uns einigen, erstellen wir gemeinsam eine endgültige Auszahlungstransaktion, die keine Gelder sperrt und eine sofortige Ausgabe nach der Bestätigung ermöglicht. Wir könnten diese Transaktion sogar dazu verwenden, einen Teil unseres Guthabens direkt an einen Dritten in der Blockchain auszugeben oder einen anderen Zahlungskanal zu schaffen.

5) Kompromisse

  • Sie können über Lightning in einer Transaktion nicht mehr Geld erhalten als die Summe der Werte Ihrer Zahlungskanäle.
  • Ihre Transaktionen werden nicht für die Ewigkeit in der Blockchain gespeichert (dh besserer Datenschutz bei Zahlungen), aber andererseits verwenden Sie weiterhin dieselbe Adresse, sodass Benutzer, die wissen, wem die Adresse gehört, Ihr Guthaben überwachen können (weniger persönlicher Datenschutz).
  • Sofortige Transaktionen! Aber Ihr Geld ist in einem Zahlungskanal eingeschlossen, den Sie zuerst auf der Blockchain ausführen müssen, wenn Sie eine reguläre Bitcoin-Transaktion mit dem Geld durchführen möchten.
  • Weniger Gebühren! Transaktionen auf Lightning erfordern keine volle Blockchain-Transaktionsgebühr, aber wenn Sie über die Zahlungskanäle anderer leiten, möchten diese möglicherweise etwas für die Liquidität, die sie Ihnen zur Verfügung stellen. Da jedoch andere Lightning-Knoten darum konkurrieren, Ihre Zahlung für Sie zu überweisen, ist dies wahrscheinlich viel niedriger als eine volle Transaktionsgebühr auf der Blockchain.

Weiterlesen:

Schön, ich dachte irgendwann, dass Bitcoins eine Möglichkeit der sofortigen Zahlung sein und in Geschäften und im Alltag verwendet werden würden, aber in einer anderen Stack-Tausch-Frage erklärte mir jemand, dass die Verzögerung bei der Bestätigung von Transaktionen auf der Blockchain nicht laut wäre. Der LN bringt ein Licht auf meinen vorherigen Gedanken. Schöne Erklärung. Ich werde nach dem Artikel über Kompromisse zwischen BTC und LN lesen. Ich hoffe, die Auswirkungen der Verwendung von SegWit und LN besser zu verstehen, wenn es einfach ist, eine allgemeine Adoption zu sein, ist das einzige, was ich bis jetzt weiß, die Beschwerde, dass Miner keine Gebühren für jede Transaktion erhalten.
Die Leute müssten von Zeit zu Zeit eine Transaktion mit der Blockchain durchführen, oder?
@Jp_: Derzeit besteht die einzige Möglichkeit für Menschen, außerhalb der Kette auf Bitcoin lautende Wertübertragungen durchzuführen, darin, dieselbe verwahrte Drittanbieterplattform zu verwenden (z. B. sind sowohl Absender als auch Empfänger Coinbase-Wallet-Benutzer). Bergleute haben überhaupt keine Reichweite in den Instant-Transaktionsmarkt. Mit Lightning Network muss das Einrichten und Schließen von Kanälen in der Kette dezentral erfolgen, sodass die Reichweite der Miner tatsächlich auf einen Markt ausgedehnt wird, zu dem sie zuvor keinen Zugang hatten.
0,01 BTC für einen Kaffee?! Empörend! ;-)
Könnten Sie in Bezug auf den Datenschutz nur wenige Adressen erstellen, die als Ihre persönliche erste Verbindung für Zahlungskanäle fungieren, und dann Ihre tatsächlichen Guthaben, die Sie verwalten, in anderen Adressen enthalten, die Sie durchlaufen? Würde dies nicht zur Privatsphäre beitragen? Sie würden also beim Ausgeben Ihre eigenen Zahlungskanäle durchlaufen, sodass Sie von anderen, die Ihren Kanal nutzen, nicht zu unterscheiden sind.
@fredsbend: Du bist immer nicht von anderen zu unterscheiden, die deinen Kanal nutzen, denn niemand weiß mehr als den Sprung vor und nach sich selbst. Soweit ich das beurteilen kann, bieten die Proxy-Knoten jedoch keinen Datenschutzvorteil. — Ich würde gerne auf dieses Thema auf eine Frage eingehen, wenn Sie sie stellen.
@Murch Ich lese immer noch zu diesem Thema. Ich hatte genug Mühe, Blockchain zu verstehen, jetzt kommen sie damit heraus. Fragen werden wahrscheinlich bald kommen.
@Murch , Wenn Sie sagen "Ihre Transaktionen werden nicht für die Ewigkeit in der Blockchain gespeichert " , meinen Sie damit, dass auch Abwicklungstransaktionen nicht dauerhaft in der Blockchain gespeichert werden?
Nein, nur die Off-Chain-Transaktionen im Lightning-Netzwerk haben nie die Blockchain erreicht. Wenn ein Kanal geschlossen wird, muss dies in einer On-Chain-Transaktion geschehen, damit dies für immer aufgezeichnet wird.

Mit Lightning können Sie Münzen zwischen zwei Brieftaschen sperren und dann spezielle Transaktionen zwischen jeder Brieftasche senden, die erst "echt" werden, wenn sie der Blockchain hinzugefügt werden. Aber das tust du nicht, denn On-Chain kostet dich mehr Gebühren, also aktualisierst du die Transaktionen untereinander ständig.

Lightning ermöglicht es nicht nur, Transaktionen Off-Chain von A nach B zu senden, sondern auch von A nach B nach C usw. Das würde es ermöglichen, ein großes Netzwerk zu schaffen, in dem die meisten Transaktionen Off-Chain stattfinden, was Sie nicht brauchen jedem vertrauen können und wo alle Transaktionen sofort erfolgen.

Lightning Network ist eine Schicht über der Bitcoin-Blockchain. Lassen Sie mich näher darauf eingehen.

Es ist eine Technologie, die Bitcoin schneller und skalierbarer macht und Bitcoin so verbessert, dass Bitcoin Hunderte oder Tausende von Transaktionen pro Sekunde verarbeiten kann. Derzeit verarbeitet Bitcoin etwa sieben Transaktionen pro Sekunde, was im Vergleich zu Visa und Mastercard sehr niedrig ist Hunderte oder Tausende von Transaktionen pro Sekunde. Das Bitcoin-Lightning-Netzwerk ist ein Vorschlag, der dabei helfen kann, von sieben Transaktionen pro Sekunde auf Hunderte oder Tausende Transaktionen pro Sekunde umzusteigen, ohne eine zentrale Einheit zu haben und ohne das Vertrauen zwischen den Knoten zu verlieren.

Wie funktioniert das Lightning-Netzwerk?

Es funktioniert von Ihnen und mir, wo wir uns gegenseitig Bitcoins auf einem Kanal außerhalb der Blockchain senden können, sodass wir einen Kanal untereinander in der Blockchain einrichten, wir beginnen miteinander zu kommunizieren und Transaktionen außerhalb der Blockchain zu senden. Wir können Hunderte oder Millionen solcher Transaktionen durchführen, ohne sie an die Blockchain zurückzusenden. Wenn wir diesen Kanal außerhalb der Blockchain erstellen, können wir beliebig viele Transaktionen durchführen, ohne das gesamte Netzwerk zu belasten.

Also in ihrem Whitepaper, die diese Idee auch vorgeschlagen haben, in der ich eine Transaktion an eine andere Person senden kann, ohne eine direkte Verbindung zu dieser anderen Person herzustellen. Lasst mich erklären, Leute...

Angenommen, ich und mein Freund senden einander Transaktionen außerhalb der Blockchain, also kann mein Freund eine Verbindung zu einer anderen Person X herstellen, sodass es im Lightning-Netzwerk möglich ist, Gelder von mir über meinen Freund an Person X zu senden. Ich brauche keine direkte Verbindung zu Person X. Es ist wirklich eine gute Möglichkeit, Gelder durch das Netzwerk zu verbreiten, ohne viele direkte Verbindungen herzustellen, die auch das gesamte Lightning-Netzwerk belasten könnten.Geben Sie hier die Bildbeschreibung ein

Das ist vergleichbar damit, wie das Internet heute funktioniert. Wenn ich ein Paket sende, kann es durch viele verschiedene Knoten geleitet werden, und die Knoten kümmern sich nicht wirklich darum, woher das Paket kommt und wohin es geht, sie kümmern sich nur darum, wohin sie es als nächstes senden sollen und Die nächste Person kann es also woanders hinschicken, und dann wäre es endlich am endgültigen Bestimmungsort angekommen. Es ist ähnlich, wie ein Lightning-Netzwerk funktioniert, wenn ich eine Verbindung zu meinem Freund habe und mein Freund eine Verbindung zu jemand anderem hat. Ich könnte Geld von mir über meinen Freund an jemand anderen schicken, mein Freund würde nicht einmal wissen, ob das Geld an Person X gehen soll oder ob Person X Person Y schicken soll.

Kannst du dieser mittleren Person vertrauen?

Ich möchte etwas Geld von mir an meinen Freund Sachin senden und ich möchte dieses Geld über die mittlere Person Shivam an Sachin senden, also habe ich einen Kanal von mir zu Shivam und dann hat Shivam einen Kanal zu Sachin, jetzt möchte ich mein Geld senden zu Sachin. Wie kann ich Shivam vertrauen? Vielleicht nimmt Shivam mein Geld für sich und sendet nichts an Sachin, also wird diese Sache kryptografisch behandelt und die Transaktion wird mir zurückerstattet, wenn Sachin meine Transaktion nicht innerhalb einer bestimmten Zeit erhält.

Probleme im Lightning-Netzwerk?

Das Schlimmste, was mir in diesem Blitznetzwerk passieren könnte, ist, dass eine untreue Mittelsperson mein Geld für einige Tage zurückhält und ich nach Ablauf dieser Tage mein Geld durch das Protokoll des Netzwerks zurückerstattet bekomme. Ein weiteres Problem mit diesem Netzwerk ist, dass Leute viele Kanäle machen könnten, sie könnten Kanäle sofort öffnen und schließen, um das Netzwerk zu belasten. Um einen Kanal zu öffnen, müssen wir diese Informationen an die Haupt-Blockchain übertragen. Wenn also eine böswillige Person versucht, Hunderte von Kanälen pro Sekunde zu öffnen und zu schließen, könnte dies die Blockchain wirklich belasten. Darin arbeiten sie.