Lightning Network

Aus Bitcoin Wiki
Dies ist die bestätigte sowie die neueste Version dieser Seite.
Wechseln zu: Navigation, Suche
Lightning Network logo

Lightning Network ist das zusätzliche Zahlungsprotokoll, eine Schicht, die über eine Blockchain eingebettet ist, damit Benutzer Zahlungen sofort und ohne Kosten senden oder empfangen können. Es beinhaltet die Verwendung von Peer-to-Peer-Zahlungskanälen, was bedeutet, dass Nutzer ihre Transaktionen an die Blockchain übertragen können, um sie zu skalieren. Es soll Bitcoin-Kryptowährungskurse helfen.

Lightning-Netzwerk erklärt[Bearbeiten]

Lightning Network ist eine vorgeschlagene Implementierung von Hashed Timelock Contracts (HTLCs) mit bidirektionalen Zahlungskanälen, mit denen Zahlungen sicher über mehrere Peer-to-Peer-Zahlungskanäle geleitet werden können. Dies ermöglicht die Bildung eines Netzwerks, in dem jeder Peer im Netzwerk einen anderen Peer bezahlen kann, auch wenn sie nicht direkt einen Kanal geöffnet haben.

  • Februar 2015 - T. Dryja und J. Poon haben das White Paper des ersten Lightning Network veröffentlicht.
  • Juli 2015 - Blockstream, Lightning Labs und ACINQ haben den Beginn der Spezifikationsentwicklungen von LN - C-Lightning, Lnd und Eclair - bekannt gegeben.
  • Mai 2017 - Einsatz von Segregated Witness ermöglicht C. Decker, die erste Transaktion "nicht normalerweise möglich" mit LN zu senden.
  • Dezember 2017 - Tests für die Interoperabilität zwischen LN-Kanälen drei Implementierungen.
  • Januar 2018 - Blockstream bringt "Lightning Charge" auf den Markt - ein Micropayment-System für Web-Händler.

Konzept[Bearbeiten]

  • Lightning Network ist eine Lösung für das Skalierbarkeitsproblem von Blockchain, da es automatisierte Micropayment-Dienste (bis zu 0,0429 Bitcoin) über die Implementierung eines Smart Contract mit mehreren Teilnehmern einführt.
  • Der LN-Kanal ist im Wesentlichen ein Netzwerk von Bitcoin-Adressen für Zweiparteien-Mehrfachsignaturen mit bidirektionalen Zahlungskanälen. Die Zahlungskanäle ermöglichen Geldtransfers zwischen Netzwerkteilnehmern, ohne dass alle Transaktionen auf der Blockchain veröffentlicht werden.
  • Technische Eigenschaften
  • Die Implementierung von Lightning Network ist aufgrund von Segregated Witness möglich, bei der eine Transaktion in zwei Teile aufgeteilt wird, die die Entsperrungssignaturdaten vom Merkle-Baum trennen.
  • Skalierbarkeit wird mit Hashed Timelock Contracts bereitgestellt. Transaktionen werden aufgrund von Hashing und CSV-Zeitsperren über ein Netzwerk verkettet.
  • Flexibilität ist bei Atom-Swaps möglich, die einen übergreifenden Handel ermöglichen. Atomarität bedeutet, dass eine Partei das Geld innerhalb einer bestimmten Zeit liefern muss; Andernfalls wird die Zahlung storniert.
  • Die Sicherheit wird durch das zwiebelartige Routing unterstützt. Es verhindert, dass zwischengeschaltete Knoten wissen, von wem sie eine routingfähige Zahlung erhalten haben und wer sie an die nächste senden soll.

Einschränkungen von Lightning Network Blockchain[Bearbeiten]

  • Zwischenfehler: Im Falle eines Zwischenknotenausfalls kann das Transaktions-Timeout Tage dauern.
  • Peer-Fehler: Wenn einer der Nicks nicht antwortet, würde es Zeit erfordern, die Zahlung zu beenden.
  • Keine Offline-Zahlungen: Kontrahent kann keine Zahlung erhalten, wenn sie nicht online sind.
  • Blockchain-Zuverlässigkeit: Wenn die zugrundeliegende Blockchain fehlschlägt, schlägt Lightning ebenfalls fehl.

Wie funktioniert das Lightning-Netzwerk?[Bearbeiten]

Um das Lightning-Netzwerk zu nutzen, muss der Bitcoin-Benutzer einen Zahlungskanal auf der Haupt-Bitcoin-Blockchain öffnen. Dasselbe gilt für den Benutzer, mit dem Benutzer A arbeiten muss.
Der Bezahlkanal verwendet ein Smart-Vertragsprotokoll, das es den Benutzern ermöglicht, eine Multisignature-Brieftasche zu öffnen, die nur dann verfügbar ist, wenn die beiden es zulassen.
Alice und Bob hinterlegen einen bestimmten Betrag auf dem Konto und signieren, um anzugeben, wie viel von dem Guthaben zu jedem von ihnen gehört. Diese Eröffnungsbilanz wird an die Blockchain gesendet und bildet den Smart-Vertrag. Es wird selbst ausgeführt, wenn die Bedingungen erfüllt sind.
Wenn der Zahlungskanal geöffnet ist, werden Transaktionen zwischen Alice und Bob außerhalb der Kette ausgeführt. Sie können so oft wie möglich Transaktionen durchführen, ohne ihre Operationen auf dem Bitcoin-Konto aufzeichnen zu müssen.
Diese Zahlungskanäle bleiben so lange offen, wie die beiden weiterhin miteinander verhandeln.

Eigentumsübertragung[Bearbeiten]

Um auf einem Zahlungskanal Transaktionen durchzuführen, überträgt eine der Parteien eine Eigentumsübertragung und fordert das Netzwerk auf, BTC von diesen an die andere Partei zu übertragen.
Alice und Bob öffnen einen Zahlungskanal zwischen ihnen. Wenn sie jeweils 10 BTC hinterlegt haben, weist der Smart Contract jedem von ihnen genau den Betrag zu, den er ausgeben soll. Wenn Bob zum Beispiel 3 BTC an Alice senden möchte, erstellt er eine Transaktion und weist Alice das Eigentum von 3 BTC zu, das er sendet.

Alice wird die Transaktion erhalten und unterschreiben. Jetzt hat Alice 13 BTC, während Bob 7 BTC hat. Das Zahlungsprotokoll zeigt Alice 13 BTC und Ben 7BTC an, wenn der Vertrag nach dieser Transaktion geschlossen wird.
Wenn Alice und Bob die Transaktionen für eine bestimmte Zeit fortsetzen möchten, speichert das Netzwerkprotokoll ihre Transaktionen bis zur letzten vereinbarten Zahlung.

Erstellen des Netzwerks[Bearbeiten]

Ein Netzwerk ist die Verbindung mehrerer Zahlungskanäle.
Wenn Alice etwas Geld an Charlie senden wollte, haben sie doch keinen Zahlungskanal zwischen ihnen geöffnet;
Alice bittet Bob, Charlie das Geld auf dem Bob-Charlie-Zahlungskanal zu schicken, dann schickt Alice Bob den Betrag auf dem Alice-Bob-Zahlungskanal. Das schafft ein "Netzwerk" zwischen Alice und Bob, Bob und Charlie und Alice, Bob und Charlie.

Creating the Lightning Network (LN)

Das gleiche Szenario wird mit Diane und so weiter repliziert. Die Prämisse ist, dass es eine Vernetzung von Tausenden, Millionen von Zahlungskanälen geben wird. Das wachsende Netzwerk von Zahlungskanälen verringert die Anzahl der Transaktionen, die auf dem primären Bitcoin-Netzwerk ausgeführt werden, wodurch das Bitcoin-Netzwerk schneller und billiger wird.

Wie funktionieren die Zahlungskanäle?[Bearbeiten]

Das Lightning Network basiert auf dem Protokoll in Segregated Witness (SegWit), das die Idee unterstützt, dass die meisten Transaktionen, die mit Bitcoin durchgeführt werden, nicht im Blockchain-Ledger registriert werden müssen. Stattdessen können sie in einer Art "Smart Contract" Netzwerk, den sogenannten Zahlungskanäle, abgewickelt werden.
Diese Zahlungskanäle ermöglichen es den Benutzern, Transaktionen außerhalb der Kette auszuführen, wobei sie nur zurückkehren, um sie in der Hauptkette aufzuzeichnen, wenn sie den Kanal schließen wollen. Nutzer haben nur dann Kosten, wenn sie einen Bezahlkanal eröffnen oder abschließen. Andernfalls sind Transaktionen im privaten Netzwerk kostenlos und sofort verfügbar.

Roadmap[Bearbeiten]

Zu den Hauptfunktionen des Lightning Network-Angebots gehören

  • Schnelle Zahlungen: Zahlungen innerhalb eines etablierten Kanals können fast so schnell durchgeführt werden, wie Daten zwischen den beiden Partnern über das Internet übertragen werden können.
  • Kein Drittanbieter-Vertrauen: Die beiden Peers in einem Kanal bezahlen einander direkt über reguläre Bitcoin-Transaktionen (von denen nur einer ausgestrahlt wird), so dass zu keinem Zeitpunkt Dritte ihre Gelder kontrollieren.
  • Reduzierte Blockchain-Last: Nur offene Kanaltransaktionen, Channel-Close-Transaktionen und (hoffentlich selten) Anti-Betrug Reaktionen müssen an die Blockchain gebunden werden, sodass alle anderen Zahlungen in Lightning-Netzwerkkanälen nicht festgeschrieben werden. Dies ermöglicht Benutzern von Lightning Network, häufige Zahlungen zu leisten, die durch Bitcoin gesichert werden, ohne die vollständigen Knoten, die jede Transaktion in der Blockchain verarbeiten müssen, übermäßig zu belasten.
  • Die Kanäle können unbegrenzt offen bleiben: Solange die beiden Parteien im Kanal weiterhin zusammenarbeiten, kann der Kanal unbegrenzt offen bleiben - es gibt keine obligatorische Zeitüberschreitung. Dies kann die Belastung der Blockchain weiter reduzieren sowie die Gebühren für das Öffnen und Schließen des Kanals über einen längeren Zeitraum amortisieren.
  • Rapid hilfsbereit schließt: Wenn beide Parteien kooperieren, kann ein Kanal sofort geschlossen werden (wobei die Parteien wahrscheinlich auf eine oder mehrere Bestätigungen warten wollen, um sicherzustellen, dass der Kanal im richtigen Zustand geschlossen wird). Nicht-kooperatives Schließen (wie wenn eine Partei verschwindet) sind ebenfalls möglich, aber sie dauern länger.
  • Auslagerbare Durchsetzung: Wenn eine Partei einen Kanal in einem alten Zustand schließt, um Geld zu stehlen, muss die andere Partei innerhalb einer definierten Zeitspanne handeln, um den versuchten Diebstahl zu verhindern. Diese Funktion kann an Dritte ausgelagert werden, ohne dass sie die Kontrolle über Geld haben, so dass Geldbörsen für längere Zeiträume als für den festgelegten Zeitraum sicher offline geschaltet werden können.
  • Zweibel-Stil-Routing: Zahlungs-Routing-Informationen können verschachtelt verschlüsselt werden, so dass Zwischenknoten nur wissen, von wem sie eine routingfähige Zahlung erhalten haben und an wen sie als nächstes senden sollen, damit diese Zwischenknoten nicht wissen, wer der Absender oder das Ziel ist (bereitgestellt) die Vermittler verglichen keine Aufzeichnungen).
  • Multisignaturfähig: Jede Partei kann verlangen, dass ihre Zahlungen in den Kanal durch mehrere Schlüssel signiert werden, was ihnen Zugang zu zusätzlichen Sicherheitstechniken gibt.
  • Blockchains können sicher gekreuzt werden: Zahlungen können über mehrere Blockchains (einschließlich Altcoins und Sidechains) geroutet werden, solange alle Ketten die gleiche Hash-Funktion für die Hash-Sperre unterstützen, sowie die Möglichkeit, Zeitsperren zu erstellen.
  • Sub-Satoshi-Zahlungen: Zahlungen können vom Ergebnis eines zufälligen Ereignisses abhängig gemacht werden, das probabilistische Zahlungen ermöglicht.) Ein Kommunikationskanal, der es zwei Parteien ermöglicht, viele sichere Zahlungen untereinander zu tätigen, um nur wenige Transaktionen in der Blockchain zu tätigen.
  • Verpflichtungstransaktion: Eine Vereinbarung zwischen zwei oder mehr Entitäten, um Bitcoin-Transaktionen auf eine bestimmte Art und Weise zu verwenden, normalerweise so, dass der automatisierte Bitcoin-Konsensus einige oder alle Bedingungen des Vertrags durchsetzen kann. Wird oft als intelligenter Vertrag bezeichnet.
  • CSV: (OP_CheckSequenceVerify, OP_CSV) die Zeitspanne, die Alice benötigt, um ihre Verletzung-Abhilfemaßnahme zu der Blockchain hinzuzufügen, nachdem Mallory eine alte Verpflichtungstransaktion zu der Blockchain hinzugefügt hat. Wenn die Klärungsfrist endet, ohne dass der Blockchain eine Transaktion zur Behebung von Rechtsverletzungen hinzugefügt wurde, kann Mallory die Gelder verwenden, die er aus der alten Verpflichtungsermächtigung erhalten hat.
  • Doppelfinanzierter Kanal: Ein Kanal, der durch eine Finanzierungstransaktion geöffnet wird, die Eingaben von Alice und Bob enthält. Vergleichen Sie mit einem Kanal mit nur einem Kanal, bei dem nur die Eingänge von Alice zur Balance des Kanals beitragen.
  • Encumbrance: Ein generischer Name für alle Bedingungen, die erfüllt sein müssen, bevor eine Bitcoin-Ausgabe ausgegeben werden kann. Frühere Bitcoin-Transaktionen platzierten alle ihre Bedingungen in den scriptPubKey; Später erlaubte die Einführung von P2SH das Hinzufügen von Bedingungen in einem reademScript, an das der scriptPubKey gebunden war. Die Einführung von Soft-Fork SegWit fügt einen ähnlichen Mechanismus für abgelöste Bedingungen hinzu, an den sich der scriptPubKey bindet; Darüber hinaus gibt es noch neuere Möglichkeiten, Bedingungen zu Ausgaben hinzuzufügen, die zwar diskutiert, aber selten verwendet werden. Der Begriff "Belastung" erlaubt es, zu spezifizieren, was die Bedingungen tun, ohne genau darüber nachzudenken, wo die Bedingungen in einer serialisierten Transaktion erscheinen.
  • Abwicklungsabwicklungstransaktion: Eine Belastung für eine Transaktionsausgabe, die erfordert, dass das Vorabbild, das zum Erzeugen eines bestimmten Hash verwendet wird, bereitgestellt wird, um die Ausgabe auszugeben. In Lightning wird dies verwendet, um Zahlungen routingfähig zu machen, ohne den Vermittlern zu vertrauen.
  • HTLC: (Hashed Timelocked Contract) ein Vertrag, wie er in einem Lightning Channel verwendet wird, wo sowohl eine Hash-Sperre als auch eine Zeitsperre verwendet wird. Die Hash-Sperre ermöglicht es Alice, Zahlungen an Bob selbst über eine Mallory zu leiten, die keiner von beiden hat Vertrauen und die Zeitsperre, die verwendet wird, um zu verhindern, dass Mallory irgendwelche Zahlungen an Alice innerhalb des Kanals zurücknimmt (vorausgesetzt, Alice setzt den Vertrag durch).
  • Vermittler: (R eine Zahlung, bei der Alice Bob nur bezahlt, wenn ein Ereignis außerhalb von Alice und Bobs Kontrolle zu Bobs Gunsten stattfindet. Probabilistische Zahlungen werden normalerweise für Szenarien vorgeschlagen, in denen Zahlungen aus technischen Gründen nicht klein genug sein können in der Lage sind, weniger als 1 Satoshi zu zahlen) oder aus wirtschaftlichen Gründen (z. B. Zahlung einer Transaktionsgebühr für jede einzelne Zahlung), um kleine Zahlungen unwirtschaftlich zu machen. Siehe PLIPP für eine bestimmte probabilistische Zahlung, die innerhalb eines Lightning-Kanals möglich ist.
  • R: Die Variable verwendet üblicherweise einen kooperativen Prozess zwischen Alice und Bob, wenn sie ihre Salden innerhalb des Kanals anpassen. Dies geschieht bei jeder Zahlung in einem Lightning-Kanal und ist nur deshalb bemerkenswert, weil eindirektionale Kanäle (wie Spillman-Stil und CLTV-ähnliche Kanäle) nicht ausgeglichen werden können und daher geschlossen werden müssen, sobald Alices Bob alle von ihr eingezahlten Bitcoins bezahlt hat in den Kanal. Siehe bidirektionale Zahlungskanäle.
  • Relative Sperrzeit: entweder eine Belastung für eine Transaktion, die verhindert, dass die Transaktion vor einer bestimmten Zeit oder Blockhöhe zur Blockchain hinzugefügt wird (wie bei nLockTime oder eine Belastung, die verhindert, dass Ausgaben aus einer Transaktionsausgabe zur Blockchain vor einer bestimmten Zeit oder Blockhöhe (wie bei OP_CLTV, Consensus Enforced Sequence Number relative Sperrzeit und OP_CSV). In Lightning wird dies verwendet, um böswillige Intermediäre daran zu hindern, die Gelder anderer Benutzer als Geiseln zu halten und Opfern zu erlauben eines versuchten Diebstahls, um Transaktionen zur Behebung von Rechtsbrüchen einzureichen, bevor der Dieb die Gelder, die er gestohlen hat, zurückgeben kann.
  • TTL: (Time to Live) Wenn Alice Bob mit einer Hash-Inchannel-Zahlung bezahlt, die letztendlich für Charlie bestimmt ist, gibt sie an, wie lange Bob die Zahlung (die Zeit bis zum Erhalt) liefern muss, bevor die Zahlung ungültig wird. Wenn Bob Charlie mit seiner eigenen In-Channel-Zahlung bezahlt, die die gleiche Hash-Sperre hat, gibt Bob eine etwas kürzere Zeitspanne an, in der Charlie das Vorabbild freigeben muss, bevor die Zahlung von Bob ungültig wird. Dies stellt sicher, dass entweder Bob die Daten erhält, die notwendig sind, um die Hash-Sperre von der Zahlung, die er von Alice erhalten hat, zu entfernen, oder dass die Zahlung, die er an Charlie geleistet hat, für ungültig erklärt wird; Alice erhält die gleiche Garantie, dass entweder die Zahlung, die sie an Bob Ultimate geleistet hat, an Charlie geht oder ihre Zahlung an Bob für ungültig erklärt wird.
  • Einseitig: (Unbezahlte Transaktionsausgabe) spendable Bitcoins. Eine Transaktionsausgabe listet einen Bitcoin-Betrag und die Bedingungen (eine Belastung genannt) auf, die erfüllt werden müssen, um diese Bitcoins auszugeben. Sobald diese Bitcoins für die Blockchain ausgegeben wurden, kann keine andere Transaktion in derselben Blockchain die gleichen Bitcoins ausgeben. Daher ist eine Unbezahlte Transaktionsausgabe (UTXO) Bitcoins, die ausgegeben werden können.

Leistungen[Bearbeiten]

Das Lightning Network wird den Nutzern von Bitcoin drei wesentliche Vorteile bringen.

  • Sofortige Zahlungen - Da die meisten Transaktionen außerhalb der Kette ausgeführt werden, können Benutzer online schneller eine Verbindung herstellen und Zahlungen tätigen als bei der Bitcoin-Blockchain.
  • Reduzierte Transaktionsgebühr- Wie bereits erwähnt, reduziert LN Channel die Gebühren erheblich, möglicherweise auf Null.
  • Datenschutz von Transaktionen - Da Sie Transaktionen innerhalb eines Zahlungskanals durchführen, werden die meisten Transaktionen nicht in der Hauptkette enden, wo jeder Knoten dies überprüfen muss.

Siehe auch auf BitcoinWiki[Bearbeiten]

Ressourcen[Bearbeiten]