56 / 736CHAN

Payment Channel

Zahlungskanal

Ein Zahlungskanal ermöglicht wiederholte Zahlungen zwischen zwei Parteien, ohne jede davon in die Blockchain zu schreiben. Geändert wird ihre Vereinbarung darüber, wie die Bitcoin verteilt sind. Die Möglichkeit einer Abwicklung auf der Blockchain verleiht dieser Vereinbarung Gewicht. Auf solchen Kanälen beruht das Lightning Network.

Ein Payment Channel, also ein Zahlungskanal, ermöglicht es, gemeinsam gebundene Bitcoins durch digital signierte Vereinbarungen neu aufzuteilen. Die Signatur bestätigt die Zustimmung zur neuen Aufteilung. Nicht jede Änderung muss in die Blockchain, das öffentliche Verzeichnis der Bitcoin-Transaktionen, aufgenommen werden. Die Teilnehmer behalten einen Weg, den Kanal zu schließen und auf der Blockchain abzurechnen. Hier geht es um einen üblichen zweiseitigen Lightning-Kanal mit Widerruf: Eine frühere Vereinbarung kann zurückgenommen und ihre spätere Nutzung bestraft werden. Andere Bauarten können anderen Regeln folgen.

Zwei Parteien passen laufend ihren Anspruch auf einen gemeinsam gebundenen Betrag an. Dafür braucht nicht jede Zahlung eine eigene Bitcoin-Transaktion in einem Block. Stattdessen tauschen beide Unterschriften für einen neuen Zustand aus. Das ist mehr als eine Tabelle, der sie vertrauen müssen: Sie verfügen über Transaktionen, mit denen sich die Abwicklung zu den vereinbarten Bedingungen durchsetzen lässt. [1] [2]

Die Funding-Transaktion bringt Bitcoins in den Kanal. Ihr Output ist ein Betrag mit Regeln dazu, wer ihn ausgeben darf; eine Bestätigung bedeutet, dass die Transaktion in einen Block aufgenommen wurde. Bei einem üblichen Lightning-Kanal verlangt dieser Output die Signaturen beider Seiten: 2-of-2. Noch bevor die Finanzierung veröffentlicht wird, müssen die Teilnehmer einen gültigen Weg zum einseitigen Schließen haben. Normalerweise warten sie auf Bestätigungen. Unter bestimmten Bedingungen erlaubt zero-conf die Nutzung ohne Warten auf eine Bestätigung. Der Empfänger vertraut dann stärker der finanzierenden Seite: Die Transaktion ist noch unbestätigt und könnte durch eine widersprechende Transaktion ersetzt werden. [2] [3]

Eine Commitment-Transaktion wird vorab signiert, um die aktuell vereinbarte Aufteilung abzuwickeln. Mit Knoten ist hier die Software gemeint, die den Kanal und seine Aktualisierungen verwaltet. Jede Partei besitzt ihre eigene Version der Commitment-Transaktion. Beim Aktualisieren koordinieren die Knoten Signaturen und Widerrufsgeheimnisse über commitment_signed und revoke_and_ack. Eine neuere Vereinbarung macht eine alte signierte Transaktion nach dem Bitcoin-Konsens nicht ungültig. Der Schutz gegen die Veröffentlichung eines widerrufenen Zustands muss deshalb in den Ausgabebedingungen stecken. [2] [3]

Bei einem üblichen Kanal mit Widerruf muss die Partei, die ihr Commitment veröffentlicht, für ihre eigenen Mittel to_self_delay abwarten. Die Verzögerung wird in Blöcken ab der Bestätigung der Commitment-Transaktion gezählt. War der Zustand widerrufen, kann die Gegenseite mit dem Widerrufsschlüssel die betreffenden Outputs zur Korrektur ausgeben. Dafür muss sie rechtzeitig handeln und eine Bestätigung erreichen. Ein Watchtower überwacht die Kette und kann mit vorab bereitgestellten Daten auf die Veröffentlichung eines widerrufenen Zustands reagieren. Auch dieser Dienst garantiert keinen Erfolg und ersetzt keine Sicherung. [3] [4]

Sat steht für Satoshi, die kleinste Bitcoin-Einheit auf der Blockchain. Die Kapazität ist der Gesamtbetrag im Kanal, nicht das Guthaben jedes Teilnehmers. Ein Kanal enthält etwa 100000 sat: Alice gehören 70000 sat und Bob 30000 sat. Zahlt Alice an Bob 10000 sat, beträgt die neue Verteilung 60000 sat und 40000 sat. Gebühren und Reserven lassen wir zur Übersicht weg. Die Kapazität bleibt gleich, doch Alice kann jetzt weniger senden und mehr empfangen. Reserven und offene Zahlungen begrenzen die tatsächlich verfügbaren Beträge zusätzlich. [6]

Lightning sucht einen Weg über mehrere verbundene Kanäle. Ein HTLC ist eine bedingte Zahlung: Um die Mittel zu erhalten, muss ein Geheimnis, die Preimage, offengelegt werden, dessen Hash oder digitaler Fingerabdruck dem vorher bekannten Wert entspricht. Zeitbedingungen ermöglichen eine Abwicklung auch dann, wenn die Zahlung nicht gelingt. Vermittler brauchen Liquidität, also Mittel, die sie in der benötigten Richtung senden können, und dürfen Gebühren verlangen. Ein direkter Kanal zu jedem Händler ist also unnötig. Eine Verbindung allein garantiert aber keine nutzbare Route für jeden Betrag. [2] [4]

Beim gemeinsamen Schließen, dem cooperative close, einigen sich die Teilnehmer auf die Abschlusstransaktion, die Verteilung und die Gebühr. Beide signieren und veröffentlichen die Transaktion auf der Blockchain. Das ist meist einfacher als ein einseitiger Abschluss, aber nicht automatisch kostenlos oder sofort erledigt. Auch diese Transaktion braucht eine Bestätigung und eine zur Netzsituation passende Gebühr. [2] [4]

Beim einseitigen Schließen, dem force close, veröffentlicht man das eigene aktuelle Commitment ohne neue Zustimmung des Partners. Die Mittel sind nicht unbedingt sofort ausgebbar: Wartebedingungen und gegebenenfalls die HTLC-Abwicklung bleiben bestehen. Weitere Transaktionen und Gebühren können nötig sein. Der Notausgang existiert, doch Dauer und Kosten hängen vom Kanalzustand und den Bedingungen auf der Blockchain ab. [3] [4]

Eine Seed Phrase besteht aus Sicherungswörtern, mit denen ein Wallet seine Schlüssel wiederherstellen kann. Allein stellen sie aber nicht den letzten Zustand eines offenen Kanals wieder her. Folgen Sie deshalb dem Verfahren Ihres Wallets. LND, ein Programm zum Betrieb eines Lightning-Knotens, verwendet diese Wörter beispielsweise zusammen mit einem Static Channel Backup (SCB). Diese statische Sicherung enthält die nötigen Angaben, um Gegenstellen zu kontaktieren und um das Schließen der Kanäle zu bitten. Sie stellt keine Kanäle für weitere Zahlungen wieder her. Die Wiederherstellung hängt dabei auch davon ab, ob die Gegenstellen antworten. Die Datei channel.db enthält dagegen die Kanaldatenbank; eine alte Kopie kann gefährlich veraltete Zustände enthalten. Geben Sie Ihre echten Sicherungswörter niemals auf einer fremden Website zur „Reparatur“ eines Kanals ein. [5]

Klären Sie, wer die Schlüssel hält, wer die Kanäle überwacht und wie Sie nach einem Geräteverlust wieder Zugriff bekommen. Verwahrend bedeutet hier, dass der Anbieter die Schlüssel hält. Ein Lightning-Guthaben bei einem verwahrenden Dienst muss kein eigener Kanal sein. Bei Selbstverwahrung tragen Sie dagegen die Verantwortung für Sicherungen, Erreichbarkeit und Reaktionen auf Probleme. Kanäle sparen Blockchain-Einträge; sie beseitigen nicht alle Betriebspflichten oder Abwicklungskosten. [4] [5]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Lightning Network, HTLC, Lightning-Liquidität, Lightning Watchtower. Auf diesen Eintrag verweisen außerdem Bestätigung, Double Spend, Timelock, HTLC.

DOC · 001Lightning Network paperPrimärquelle DOC · 002BOLT #2 — Channel lifecyclePrimärquelle DOC · 003BOLT #3 — Transaction and script formatsPrimärquelle DOC · 004BOLT #5 — On-chain handlingPrimärquelle DOC · 005Lightning Labs — Disaster recoveryDokumentation DOC · 006Lightning Labs — Managing LiquidityDokumentation
Überarbeitet: Quellenbasiert · Keine Anlageberatung