Good morning,

I think we must stop closing channels to redeem trimmed HTLCs. It makes no
sense at all. It's bad for everybody, there is not a single upside to
closing a channel to redeem a trimmed HTLC.

(Please let me know if you don't agree with the above and what are the
things I'm missing.)

Now I understand this is not trivial, because if we just decide to stop
closing, what do we do? It's not obvious -- and actually it may not even be
possible to come up with a decent course of action.

I've written two or more blog posts trying to explain the issue (mostly to
myself)(see and links), but skipping the
problem and going to the solutions directly, I see three possible
approaches (and they can all be implemented, in sequence, gradually):

0. Never have stalled HTLCs again (just kidding, this will never happen).
1. Just don't close. The channel keeps working. It's bad but at least you
don't have to close and open again (this is probably not safe against evil
people, but Lightning itself isn't anyway, right?).
2. Try to negotiate: if a peer knows it is at fault (for having been
offline while the HTLC expired, for example) it can eat the costs of that
HTLC just so the other side doesn't close the channel, and vice-versa (this
will probably not work in most situations, but may work in some, I don't
know enough to say).
3. Use an arbiter (this is my favorite): the two peers can agree on an
arbiter when creating the channel. The arbiter can act as a proxy for when
peers can't establish connection with each other; revoke/fulfill messages
can be sent to the arbiter if the other peer is unresponsive; the arbiter
has authority to say who sent each message at each time and therefore who
must get the sats in that HTLC. If a peer doesn't obey the arbiter's
decision the other must blacklist it forever. The arbiter can be anything:
another Lightning node, a set of Lightning nodes, Twitter or any
established internet service that allows arbitrary content to be published
in public, this mailing list etc.

(The arbiter idea may be sounding silly to you, but anything is better than
what we have now. In all the suggestions above, the fallback, worst case
scenario, is closing the channel. Today we live in the worst case scenario.)

Thank you for reading.

Lightning-dev mailing list

Reply via email to