Was würde passieren, wenn ein Benutzer das Datenverzeichnis der LN-Knotensoftware mit einer alten Sicherung wiederherstellen würde? Wäre ein kooperatives Kanalschließen möglich?

Soweit ich weiß, würde die Funktion "Datenverlustschutz" die Gegenpartei nur auffordern, den Kanal einseitig zu schließen. Ich frage mich, ob das gegenseitige Schließen mit alten Kanalzuständen noch möglich ist?

Übrigens erinnere ich mich ungefähr, dass ich einmal einen Kommentar wie diesen gesehen habe:

Bevor die Funktion „Static Channel Backup“ eingeführt wurde, gab es einmal die schlimme Situation, dass die Gelder dauerhaft verloren gehen konnten, selbst wenn die Gegenpartei des Kanals den Kanal einseitig schloss. Diese schlechte Situation war jedoch ein Kompromiss im Austausch für eine bessere (oder einfachere) Watchtower-Implementierung.

Antworten (1)

Nein, ein gegenseitiges Schließen ist nicht möglich. Um einen gegenseitigen Abschluss zu unterzeichnen, sollten sich beide Parteien über den aktuellen Zustand des Kanals im Klaren sein. Da eine der Parteien in Verzug geraten ist, weiß sie nicht, wie viel ihr geschuldet wird (oder genauer gesagt kann sie der anderen Partei nicht nachweisen, wie viel ihr geschuldet wird). Wenn die letzte unterzeichnete Commitment-Transaktion das Hinzufügen von HTLCs beinhaltete, ist es darüber hinaus für den zurückgefallenen Knoten unmöglich zu wissen, was diese HTLCs sind, ob die Pre-Images gesendet wurden oder ob die HTLCs abgelaufen sind.

Der einzige mögliche Weg ist, dass, wenn die andere Partei feststellt, dass ihr Peer in Verzug geraten ist, sie ihrem Peer die letzte signierte serialisierte Commitment-Transaktion (ohne Signaturen), die sie besitzt, und die Signatur, die der in Verzug geratene Peer gesendet hat, sendet. Sie können dann die Abschlussbedingung einschließlich der Gebühren aushandeln. Das Protokoll lässt jedoch nur Nachrichten zu, die nicht länger als 65535 Byte sind. Commitment-Transaktionen können bis zu 400.000 WU (>100.000 Byte) groß sein, sodass sie nicht in eine einzelne Lightning-Nachricht passen würden. Möglicherweise kann das Protokoll das neue TLV-Format verwenden, um mehrere zu folgende Nachrichten anzuzeigen, aber die aktuellen Spezifikationen lassen dies nicht zu.

Ich bin verwirrt. Was meinte er in diesem Tweet? twitter.com/forieq0/status/1187411491554779136?s=19
Das ist verwirrend. Ich denke, sie beziehen sich darauf, dass das erzwungene Schließen nicht zulässig ist, wenn beide Parteien synchronisiert sind. Wenn eine Partei eine channel_restablishNachricht sendet und die andere Partei feststellt, dass ihr Peer in Verzug geraten ist, empfiehlt die Spezifikation, das Schließen zu erzwingen. Versuchen Sie, die Antwort von Olaolu zu lesen . Es scheint, dass sie einen alten Zustand gesichert hatten, der zur Zwangsschließung führte.
Ich kann nicht einsehen, warum ein gegenseitiges Schließen unmöglich ist - im Gegenteil, nach meinem Verständnis ist es viel besser, als die Gegenpartei aufzufordern, den Kanal einseitig zu schließen, da einseitiges Schließen mehr Vbytes verbraucht und somit mehr Minergebühr/Blockspeicherplatz. Das einseitige Schließen führt auch zu einer lokalen Verzögerung, ironischerweise leidet die Partei, die Daten verliert, nicht unter einer solchen Zeitsperre, AFAIK.
Übrigens hatte ich tatsächlich die zweite Frage gestellt: Gab es einmal einen Zeitraum, in dem die Verwendung eines alten Backups die Off-Chain-Gelder immer noch nicht wiederherstellen konnte, und diese Gelder dauerhaft verloren / zerstört wurden, weil die entsprechenden privaten Schlüssel nicht Es gibt sie nicht mehr auf der Welt.
@ChrisChen Ich kenne die Antwort auf die zweite Frage nicht. Da muss ich wohl im Netz suchen. Wenn Sie es finden, können Sie es hier kommentieren und dann können wir sehen, was die Gründe waren. Um auf Ihre erste Frage zurückzukommen: Das Problem beim gegenseitigen Schließen besteht darin, dass die andere Partei seit einem bestimmten Zeitpunkt alle ihre Commitment-Transaktionen verloren hat. Es weiß also nicht, wie viel es geschuldet ist. Die einzige Beweismöglichkeit besteht darin, dass die Gegenpartei ihr die letzte unterzeichnete Commitment-Transaktion zusendet. Können Sie sich vorstellen, wie Sie den zurückgefallenen Knoten wissen lassen können, wie der Saldo des Kanals ist?