Was passiert, wenn ein Kanal aussteht?

Was passiert, wenn ein Kanal beim Öffnen aussteht? Wie lange dauert es normalerweise? Um einen Kanal mit einem Knoten zu öffnen, mit dem Sie bereits verbunden sind, müssen Sie keinen Konsens von allen anderen verbundenen Knoten einholen (wie Sie es tun würden, wenn Sie eine Transaktion in der Kette senden würden). Warum also warten?

Antworten (2)

Das Öffnen eines Kanals beinhaltet das Senden einer On-Chain-Transaktion (mit einem Multisig-Ausgang, der von den Teilnehmern des Kanals gesteuert wird). Wenn der Kanal also „ausstehend“ ist, bedeutet dies einfach, dass diese Transaktion noch nicht bestätigt ist. Wie lange es dauert, bis die Transaktion bestätigt wird, hängt von denselben Faktoren ab wie jede andere Transaktion.

Darüber hinaus warten die Teilnehmer oft auf eine bestimmte Anzahl von Transaktionsbestätigungen, bevor sie mit Kanalzahlungen beginnen. Die Anzahl der erforderlichen Bestätigungen wird im minimum_depthParameter der accept_channelNachricht ausgehandelt. Von BOLZEN 2:

Die funding_lockedNachricht zeigt an, dass die Finanzierungstransaktion das angeforderte in erreicht minimum_depthhat accept_channel. Sobald beide Knoten dies gesendet haben, tritt der Kanal in den normalen Betriebsmodus ein

(danke an @jnewbery für die hinzugefügten infos)

@selfishminer Sie sollten Ihre Bearbeitung als separate Antwort hinzufügen, da sie im Vergleich zu meiner vollständig neu geschrieben wird, aber ich denke, sie ist hilfreich.
"Sobald die Transaktion bestätigt wird ..." warten die Teilnehmer tatsächlich auf eine bestimmte Anzahl von Bestätigungen, bevor sie mit Kanalzahlungen beginnen. Die Anzahl der erforderlichen Bestätigungen wird im minimum_depthParameter der accept_channelNachricht ausgehandelt. Von BOLT 2: "Die funding_lockedNachricht zeigt an, dass die Finanzierungstransaktion den angeforderten Eingang erreicht hat minimum_depth. accept_channelSobald beide Knoten dies gesendet haben, tritt der Kanal in den normalen Betriebsmodus ein."
@jnewbery danke für die Klarstellung / zusätzliche Informationen, ich habe die Antwort bearbeitet, um sie aufzunehmen

Was passiert, wenn ein Kanal beim Öffnen aussteht? Wie lange dauert es normalerweise?

Ein Knoten richtet einen Kanal ein, indem er eine open_channel- Nachricht an seinen gewünschten Peer sendet. Diese Nachricht gibt die Parameter an, unter denen der Kanal betrieben wird (z. B. die Anzahl der Bitcoins, mit denen der Kanal finanziert wird, und die Kosten für die Weiterleitung von Zahlungen durch den Kanal). Die Kanalgegenpartei muss mit der Kanalakzeptanznachricht antworten , von der ein Parameter ist minimum_depth, wobei die Anzahl der Bestätigungen angegeben ist, die die Finanzierungstransaktion haben muss (bevor der Kanal verwendet werden kann). Dies schützt Kanalteilnehmer davor, Geld zu verlieren, falls die Finanzierungstransaktion doppelt ausgegeben wird.

Um einen Kanal mit einem Knoten zu öffnen, mit dem Sie bereits verbunden sind, müssen Sie keinen Konsens von allen anderen verbundenen Knoten einholen (wie Sie es tun würden, wenn Sie eine Transaktion in der Kette senden würden). Warum also warten?

Das Herstellen einer Netzwerkverbindung mit einem Knoten ist nur ein Schritt beim Aufbau eines Blitzkanals. Die Gelder müssen zunächst in einem Multisignatur-Ausgang (2-of-2, mit einem Schlüssel von jedem Kanalteilnehmer) gesichert werden. Das Verschieben der Gelder zu einem Multisignatur-Ausgang kann nur mit einer On-Chain-Transaktion erfolgen. Ohne diesen Schritt gibt es keine Möglichkeit, eine Partei daran zu hindern, die Gelder direkt zu stehlen. Sobald die Gelder in einen solchen Ausgang verschoben wurden, können Kanalteilnehmer Blitztransaktionen durchführen.