-
Notifications
You must be signed in to change notification settings - Fork 104
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
Remove security warning when sending to zero amount invoices #248
Comments
No, this warning cannot be removed yet. |
Is this true for most current LSP based wallets like to Phoenix? |
It's true for all LSP that do the path-finding on behalf of the wallet (unless they compute the route, then send it to the wallet and let the wallet create the payment onion), whether they use trampoline or not. For trampoline nodes, it's true whenever the recipient does not support trampoline. If the recipient supports trampoline (e.g. phoenix -> phoenix payments) then this warning doesn't apply. Is that clearer? It's still a bit messy, the only way to really resolve this would be to have other wallets and implementations at least support receiving trampoline payments, even if they don't support sending or relaying them. |
Yes that makes sense! Thanks for clarifying! |
Can you describe why? Requiring payment secrets ubiquitously resolved the issues which had been previously described, as far as I'm aware. |
This is because of trampoline (and its lack of support in wallets). We have what I hoped would be a very temporary "hack" in Phoenix where if the recipient doesn't support trampoline, Phoenix lets our node transform the payment to a "normal" payment. That means it's really our node making the payment on behalf of Phoenix, so it needs all the information from the invoice, including the I was young and optimistic when we did that, I figured that implementing just the trampoline onion decryption part was so easy that all wallets would support it soon and we could deprecate that hack, but that didn't happen 😅 So until Phoenix is able to do real trampoline payments to everyone, I'd like to keep this warning to show that paying amountless invoices to non-trampoline recipients requires trust in our node. |
Huh, that sucks. Can you have the payer do the mpp split (randomly or just don't split if its a small payment) and just give the last hop pre-encrypted to the server? Not sure how much that would kill payment reliability. |
That wouldn't use trampoline at all anymore, because the sender doesn't know yet what the last hop could be. |
Maybe I'm missing something, the sender doesn't know the second-to-last-hop, but they know who is going to receive the payment. What the sender doesn't know is how much and how many MPP parts the recipient should receive, but you could restrict that somewhat, it just may have less payment reliability. |
I agree that there are different protocols that could let users delegate path-finding without disclosing the |
Right, yea, I get that'd be a big change, so not suggesting it be a priority, I was just kinda hoping 0 amount invoices would be more available sooner rather than later. |
The exploit that allowed intermediate routing nodes to potentially steal a user funds when using zero amount invoices appears to have been patched a long time ago but Phoenix still shows a security warning when attempting to send to a zero amount invoice the first time the user attempts to send to one.
This security warning should be removed as it creates unnecessary stress on the user.
The text was updated successfully, but these errors were encountered: