Offline sein: Wann schließen andere Nodes Channels?

Wenn mein Lightning-Knoten offline geht, wie lange dauert es, bis meine Kontrahenten-Knoten die Kanäle schließen, die sie gemeinsam mit mir besitzen?

Dies liegt natürlich bei den Gegenparteiknoten, da sie individuell wählen können, wann sie Kanäle schließen möchten, aber was sind die Standardeinstellungen für die Hauptimplementierungen?

Antworten (1)

Ein Lightning Channel hat keine Anforderung, wann der Channel geschlossen werden soll, wie von BOLT angegeben. Es wird vollständig vom Benutzer und der Implementierung entschieden. Im Fall von lnd ruft der Benutzer jedes Mal, wenn er den Kanal schließen möchte, auf und closechannelversucht zuerst, ein kooperatives Schließen durchzuführen, sofern nicht anders angegeben:

Name:     "closechannel",
Category: "Channels",
Usage:    "Close an existing channel.",
Description: `
Close an existing channel. The channel can be closed either cooperatively,
or unilaterally (--force).

A unilateral channel closure means that the latest commitment
transaction will be broadcast to the network. As a result, any settled
funds will be time locked for a few blocks before they can be spent.

In the case of a cooperative closure, One can manually set the fee to
be used for the closing transaction via either the --conf_target or
--sat_per_byte arguments. This will be the starting value used during
fee negotiation. This is optional.

To view which funding_txids/output_indexes can be used for a channel close,
see the channel_point values within the listchannels command output.
The format for a channel_point is 'funding_txid:output_index'.`,

Selbst wenn aufgerufen closeAllChannelswird, da dieser Gegenparteiknoten offline ist, fordert die Shell den Benutzer auf, bevor sie den Kanal einseitig schließt:

        // If the channel is inactive, we'll attempt to
        // unilaterally close the channel, so we should prompt
        // the user for confirmation beforehand.
        if !channel.GetActive() {
            msg := fmt.Sprintf("Unilaterally close channel "+
                "with node %s and channel point %s? "+
                "The closing transaction will need %d "+
                "confirmations before the funds can be "+
                "spent. (yes/no): ", channel.RemotePubkey,
                channel.ChannelPoint, channel.CsvDelay)
Lnd schließt Kanäle also nicht automatisch nach einiger Zeit?
Nein, dies ist vom Design her nicht erforderlich. Dem müssten die Nutzer zustimmen.
dies würde jedoch in Duplex-Micropayment-Kanälen passieren