Skip to content
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

How to find compromise in restarted fee negotiation (coop close)? #6781

Closed
C-Otto opened this issue Jul 30, 2022 · 2 comments · Fixed by #6770
Closed

How to find compromise in restarted fee negotiation (coop close)? #6781

C-Otto opened this issue Jul 30, 2022 · 2 comments · Fixed by #6770
Labels
channel closing Related to the closing of channels cooperatively and uncooperatively p2p Code related to the peer-to-peer behaviour
Milestone

Comments

@C-Otto
Copy link
Contributor

C-Otto commented Jul 30, 2022

Background

If both nodes run lnd 0.15+, it is possible to retry a failed fee negotiation (as part of a cooperative channel close). If one node is running an older version of lnd, the channel has to be force-closed.

However, in my observation this doesn't help as long as both peers stick to the same values: my node still suggests numbers far below my peer's suggestions, and after a few attempts the negotiation fails.

How can I tell my lnd (without restart!) to accept/suggest higher fee rates for a specific peer/channel?

See lightninglabs/loop#516 for an example of this.

Your environment

  • version of lnd: lnd v0.15.0-beta with a few patches from master (and some of my own)
  • which operating system (uname -a on *Nix): Linux server 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64 GNU/Linux
  • version of btcd, bitcoind, or other backend: bitcoind v23

Steps to reproduce

Configure very low fee rates (bitcoind.estimatemode=ECONOMICAL, coop-close-target-confs=1000). Open channel to LOOP. Let LOOP coop-close channel.

Expected behaviour

Nodes agree on fee rate, especially after manual intervention on my side.

Actual behaviour

Fee rate negotiation fails repeatedly.

@C-Otto C-Otto changed the title How to find compromise in restarted fee negotiation? How to find compromise in restarted fee negotiation (coop close)? Jul 30, 2022
@sputn1ck sputn1ck added p2p Code related to the peer-to-peer behaviour channel closing Related to the closing of channels cooperatively and uncooperatively labels Jul 30, 2022
@Roasbeef
Copy link
Member

Roasbeef commented Aug 1, 2022

This'll be fixed by #6770

Long story short: we went to catch up w/ co-op close semantics in the spec, rolled that out, realized that caused issues with co-op close in the wild (we went to no longer accept fees above the commitment fee, but w/ anchors that can be very low), realized that requirement was removed from the spec, now have a fix to roll back our prior change and make things more flexible.

@Roasbeef
Copy link
Member

Roasbeef commented Aug 1, 2022

Fee negotiation isn't super well defined in the spec (basically just says agree on a fee). By 0.16 we'll have the fee range feature implemented, and for taproot we might actually just try to re-do things all together (round based, only send a sig at the very end, etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
channel closing Related to the closing of channels cooperatively and uncooperatively p2p Code related to the peer-to-peer behaviour
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants