-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
lnd refuses overpayment? #1002
Comments
Automatically overpaying sounds like a really bad idea. We've already seen users get touchy about the on-chain commitment fees they pay. Randomly forcing the user to pay twice the invoice amount will result in further confusion and unnecessary leakage of user funds. I see the argument for adding shadow routes (pad out the CLTV value to add plausible deniability w.r.t route details), but why would one want to automatically overpay? |
Fees will happen on-Lightning anyway ( The overpayment is randomized between 0 to up to the maximum fee rate. The effect is that overpayment tends to be lower the further you are from the payee, but this is not reliable --- C-lightning could overpay by a small amount with some probability even on a direct channel to the payee. Note that C-lightning even does route randomization --- it will sometimes take non-optimal routes (even if it does not know the optimal route would fail). The only requirement is that, the first hop, will not be given more than the maximum fee rate deemed acceptable by the user. This means that the maximum fee rate is a privacy parameter in C-lightning, and overpayment simply hides within the fees we are obliged to pay on-Lightning anyway. |
Background
lnd/htlcswitch/link.go
Lines 1964 to 1979 in 9b72965
Suggests that lnd refuses overpayment of invoices.
Xref: https://github.com/lightningnetwork/lightning-rfc/blob/master/04-onion-routing.md
Recently c-lightning added ability to automatically overpay: ElementsProject/lightning#1257
This caused somebody to open an issue on c-lightning: ElementsProject/lightning#1309
However specs seem to suggest that c-lightning behavior is within spec.
Your environment
lnd
9b72965uname -a
on *Nix) N/Abtcd
,bitcoind
, or other backend N/ASteps to reproduce
Sheer code review
Expected behaviour
lnd should accept
invoice <= payment <= invoice * 2
.Actual behaviour
lnd accepts only
invoice == payment
The text was updated successfully, but these errors were encountered: