-
Notifications
You must be signed in to change notification settings - Fork 906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLN choosing absurd fee rates for cooperative closures #7242
Comments
Is CLN the opener in this example? If we're the opener, we negotiate between min and max fees. If we're not the opener, we negotiate between min and entire channel capacity, because it's their funeral, right? And this looks a lot like that is the case here... OR did you set "ignore fee limits" on the channel (or globally). That's the other case where max is unlimited... |
In all these cases CLN was the channel opener |
|
Like Ben said, ignore-fee-limit is set globally but all channels are opened by the CoreLN node (our side opens). So according to the docs I don't think it should have an effect. |
If you open all the channels, then it should not effect force close rate? If it does, then I'm puzzled. Docs indeed do not detail this, but one reason for the option initially was to enable mutual close when we don't agree on fees. But all it does is increase the maximum (and drop the minimum) we will accept: we still negotiate based on what they send us, starting at our ideal. What was the actual fee rate on the final mutual close? Did it actually choose an absurd feerate, or just set no limits? |
Note: for non-anchor channels, we could cap the max even in the "ignore-fee-limits" case to the fee for the final unilateral close. (Anchor channels lowball fees because they rely on the anchors to CPFP, so they don't set a maximum the same way). |
I can try to find the logs again, on both sides. In all cases, it was a non anchor coop close initiated by LDK while the CLN node was the opener. LDK proposed a wide open fee range, and CLN picked an insanely high fee, much higher than the minimum needed. LDK accepted and then the channel close was broadcasted. |
That's not always the case. |
Pretty sure LDK supports fee range, so this is what would have happened:
|
OK, @TheBlueMatt confirms: LDK picks the upper bound. The spec, however, is pretty clear here:
i.e. you should reply with the same number they gave, unless it's unacceptable. With this in the wild, I think this option is now unexpectedly dangerous. I will disable it for close. |
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
Here's one of the logs on the LDK side. I think your description above sounds correct. Thanks for tracking that down!
|
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: ElementsProject#7242
LDK will pick the *upper* limit (see: lightningdevkit/rust-lightning#3014)! It should not do this, but since you can set a manual range for mutual close, it's probably better to disable this option for close, as it's even more dangerous than documented. Changelog-Changed: config/JSON: --ignore-fee-limits / setchannel ignorefeelimits no longer applies to mutual close. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Fixes: #7242
cc @gkrizek @TonyGiorgio
The text was updated successfully, but these errors were encountered: