Avoid stuck channels after fee increase by dipping into reserve#750
Closed
t-bast wants to merge 1 commit into
Closed
Avoid stuck channels after fee increase by dipping into reserve#750t-bast wants to merge 1 commit into
t-bast wants to merge 1 commit into
Conversation
Allow funders to dip into their channel reserve once to be able to pay the increased commit tx fee for a pending HTLC. This prevents channels from getting in a state where the channel is unusable because of the increased commit tx cost of a new HTLC. Fixes #728.
6773120 to
66ce08c
Compare
joostjager
reviewed
Feb 25, 2020
|
|
||
| The node _responsible_ for paying the Bitcoin fee should be allowed to dip into | ||
| its channel reserve to accommodate a fee increase, otherwise the channel may end | ||
| up in an unusable state (see [#728](https://github.com/lightningnetwork/lightning-rfc/issues/728)). |
Collaborator
There was a problem hiding this comment.
How do nodes signal that they allow this? Older nodes wouldn't allow this.
Collaborator
Author
There was a problem hiding this comment.
I don't think you need to signal anything.
First case: sender is upgraded, receiver is not. The sender will send an HTLC that the receiver will reject (a non-upgraded sender wouldn't have sent that HTLC - the channel would be stuck). No big deal.
Second case: receiver is upgraded, sender is not. The sender will not send any HTLC, so the channel will be stuck. It's still possible to restore the channel by using below dust HTLCs until it's unblocked.
15 tasks
Collaborator
Author
|
Closing in favor of #740 as agreed during yesterday's IRC meeting. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Allow funders to dip into their channel reserve once to be able to pay the increased commit tx fee for a pending HTLC.
This prevents channels from getting in a state where the channel is unusable because of the increased commit tx cost of a new HTLC.
Fixes #728. (see the issue for a longer discussion)
This is an alternative to #740. I think it makes sense to dip into the reserve in that case.
Do note that this only fixes the stuck channel issue if the channel reserve is big enough for the fee increase.
At ~3500 sat/kw with a 1% reserve, it means that channels with a capacity bigger than 60 000 sats are safe from getting stuck, but smaller channels may still get stuck.