Blockchain/Niveau V · Layer/5.1 Lightning/Lektion 1
Zahlungskanäle
Zwei Signaturen, Tausende Zahlungen: die Mechanik der Off-Chain-Abwicklung
MaterialienEin Block-Explorer, der Multisig-Inputs anzeigen kann (z. B. mempool.space)Das Spezifikationsdokument für BOLT #2Ein Grafik-Tool zur Visualisierung der Struktur von Funding- und Commitment-Transaktionen
Neugier
- Wie können zwei Parteien Tausende von Sofortzahlungen durchführen und dabei nur zwei Transaktionen an die Bitcoin-Blockchain übermitteln?
- Welcher Mechanismus verhindert, dass ein Teilnehmer eine ältere Commitment-Transaktion veröffentlicht, die für seinen Saldo günstiger ist?
- Warum waren die ersten Zahlungskanäle, die Jeremy Spilman 2013 beschrieb, nur in eine Richtung nutzbar?
Erkunden
- Die Basisschicht von Bitcoin wickelt Transaktionen in Abständen von etwa zehn Minuten ab, was bei hochfrequenten Mikrozahlungen zu Latenz und Gebührenbeschränkungen führt. Zahlungskanäle verlagern den Rechenaufwand für Zustandsaktualisierungen off-chain, sodass die Teilnehmer beliebig lange signierte Saldozustände austauschen können, ohne dass diese im Netzwerk verbreitet werden müssen. Die Blockchain dient ausschließlich als Abwicklungsschicht und prüft nur die anfängliche Finanzierung und die endgültige Schließung.
- Der Kanal beginnt mit einer Funding-Transaktion: Ein 2-of-2-Multisig-Output sperrt Mittel, die Alice und Bob gemeinsam kontrollieren. Wenn jeder 1 BTC einbringt, beträgt die Kanalkapazität 2 BTC. Keine der Parteien kann diese Mittel ohne die Signatur der anderen einseitig ausgeben. Diese Struktur bindet die Teilnehmer in einem gemeinsamen Konto aneinander, das nur als potenzieller Anspruch auf der Hauptkette existiert.
- Im laufenden Betrieb tauschen Alice und Bob Commitment-Transaktionen aus, die neue Saldoverteilungen abbilden. Jede Aktualisierung ersetzt den vorherigen Zustand; sendet Alice 0,1 BTC an Bob, signieren beide eine neue Transaktion, die Mittel von Alices Output auf Bobs Output verschiebt. Diese signierten, aber nicht veröffentlichten Transaktionen sind gültige Bitcoin-Transaktionen. So kann jeder endgültige Zustand on-chain durchgesetzt werden, ohne auf Vertrauen in die Gegenpartei angewiesen zu sein.
- Außerdem muss jede Seite daran gehindert werden, einen veralteten Zustand zu veröffentlichen, der ihr mehr auszahlte. Lightning erreicht dies mit Revocation-Secrets und Timelocks, die in einer späteren Lektion behandelt werden. Kurz gesagt: Wer einen widerrufenen Zustand veröffentlicht, ermöglicht der anderen Partei, das gesamte Kanalguthaben an sich zu nehmen, wodurch Betrug zu einer Wette wird, die man nur verlieren kann.
- Die Schließung erfolgt entweder kooperativ oder einseitig. Bei einer kooperativen Schließung signieren beide Parteien eine Abwicklungstransaktion, die ihre endgültigen Salden sofort und ohne Timelocks auszahlt. Wenn eine Partei die Verbindung verliert oder böswillig handelt, kann die andere durch Veröffentlichen der neuesten Commitment-Transaktion einen Force-Close durchführen. Auf diesem einseitigen Weg muss die Partei, die den Force-Close auslöst, einen relativen Timelock abwarten, bevor sie ihren eigenen Anteil ausgeben kann; so bleibt Zeit für einen Strafanspruch. Der Output der anderen Partei ist fast sofort verfügbar.
- Zu den Vorläufern zählen Jeremy Spilmans Einwegkanäle (2013), bei denen Zahlungen nur vom Zahler zum Empfänger fließen konnten, sowie die Duplexkanäle von Christian Decker und Roger Wattenhofer (2015). Das Paper von Joseph Poon und Thaddeus Dryja zum Lightning Network (Entwurf 2015, Fassung 2016) führte widerrufbare Commitments ein, sodass ein Kanal unbegrenzt offen bleiben kann, sowie HTLCs, sodass Zahlungen über viele Kanäle geroutet werden können. Mainnet-Implementierungen wie LND, Core Lightning und Eclair verwalten heute diese Zustände; eine nennenswerte Verbreitung setzte 2018 ein.
Kernfakten
- Ein Zahlungskanal sperrt Mittel in einem 2-of-2-Multisig-Output, sodass für Ausgaben on-chain beide Signaturen erforderlich sind.
- Commitment-Transaktionen sind signierte, aber nicht veröffentlichte Aktualisierungen, die das Kanalguthaben neu verteilen; jeder neue Zustand ersetzt den vorherigen.
- Revocation-Secrets ermöglichen es der Gegenpartei, das gesamte Kanalguthaben zu beanspruchen, wenn eine veraltete Commitment-Transaktion veröffentlicht wird.
- Kooperative Schließungen begleichen die Salden sofort über eine Abwicklungstransaktion ohne Timelock; einseitige Schließungen erzwingen relative Timelocks, damit Strafansprüche geprüft werden können.
- Die im Jahr 2013 von Jeremy Spilman entwickelten Einwegkanäle sowie die im Jahr 2015 von Decker/Wattenhofer geschaffenen Duplexkanäle waren die wichtigsten Vorläufer des Lightning Networks.
- Zu den wichtigsten Implementierungen gehören LND (Lightning Labs), Core Lightning (Blockstream), Eclair (ACINQ) und LDK; die Nutzung im Mainnet nimmt seit 2018 deutlich an Fahrt auf.
Übung neun, sechs, drei, eins
9SammelnListen Sie 9 verschiedene technische Komponenten oder Protokolle auf, die beim Öffnen, Aktualisieren und Schließen eines Zahlungskanals eine Rolle spielen.
6GruppierenGruppieren Sie die 9 nach ihrer Funktion in 6 Kategorien: Funding, Zustandsverwaltung, Durchsetzung der Sicherheit, Schließmechanismen, Voraussetzungen für das Routing oder Implementierungsstandards.
3VerdichtenReduzieren Sie die 6 Gruppen auf 3 Kernprinzipien, die einen vertrauenslosen Betrieb zwischen zwei Parteien gewährleisten.
1KristallisierenSchreiben Sie 1 Satz darüber, warum zwei On-Chain-Transaktionen beliebig viele Off-Chain-Zahlungen abwickeln können.
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.