Dear Ben,
BOLT 5 has a section called "Failing a channel" which you can find at
https://github.com/lightning/bolts/blob/master/05-onchain.md#failing-a-channel
There you can find everything that is supposed to happen when the protocol spec
says that a peer should fail a channel. This often happens when an `error` was
sent. Roughly speaking "failing a channel" means closing the channel. In that
case a peer should first try to mutually close the channel and only as a last
resort resolve to a unilateral force close. The reasons are that force closes
might include pending HTLCs and have higher fees in general.
There is also the common term of "failing the connection" which means closing
the TCP connection.
If you are interested to dig a bit deeper you will see that there is the
discussion about introducing warning messages at
https://github.com/lightning/bolts/pull/834. The reason is to relax situations
where we send `error` so that channels might not be closed as quickly as it is
the case right now.
The semantics of failing the channel and what exactly should be done are also
being discussed. I recently opened a pull request at
https://github.com/lightning/bolts/pull/942 which resulted from the discussion
around the warning messages and the idea to relax what happens in case issues
arise during `channel_reestablish` which is discussed at
https://github.com/lightning/bolts/pull/932
Sincerely Lightning Developer
Sent with [ProtonMail](https://protonmail.com/) Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, December 9th, 2021 at 21:10, Benjamin Weintraub
<weintrau...@northeastern.edu> wrote:
> Hi all,
>
> I have a question about BOLT #2. What exactly does it mean to "fail the
> channel"? In the section for "update_add_htlc," the follwing text is written:
>
> - receiving an amount_msat equal to 0, OR less than its own
> htlc_minimum_msat:
>
> - SHOULD fail the channel.
>
> - receiving an amount_msat that the sending node cannot afford at the current
> feerate_per_kw (while maintaining its channel reserve and any
> to_local_anchor and to_remote_anchor costs):
>
> - SHOULD fail the channel.
>
> - if a sending node adds more than receiver max_accepted_htlcs HTLCs to its
> local commitment transaction, OR adds more than receiver
> max_htlc_value_in_flight_msat worth of offered HTLCs to its local commitment
> transaction:
>
> - SHOULD fail the channel.
>
> - if sending node sets cltv_expiry to greater or equal to 500000000:
>
> - SHOULD fail the channel.
>
> Does it mean closing the channel (unilaterally or mutually)? Or ending the
> TCP connection? Something else?
>
> Thanks,
> Ben
_______________________________________________
Lightning-dev mailing list
Lightning-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev