I was looking at the lightning network gossip message types. I can see that the fee of each channel is advertised in advance. It obviously needs to because the payment routed must include correct fee for each node on its way (and the whole route is determined by the sender).
So this information is available in advance before initiating the payment. So why don't the wallets show the exact fee amount before sending it, allowing the end user to see and confirm the fee?
Wallets can probe paths to see if they will succeed, then quote you the fee on the known working path. But this is a lot more work than just paying any fee that is below a user-defined maximum fee.
However, its possible that by the time you accept the fee quote, that path is no longer working due to lack of liquidity caused in the meantime while the wallet was waiting for you to accept the fee.
reply
Also wanted to add that the fee to a specific path isnt that useful if you don't know it will be successful. By specifying a max fee the wallet can try multiple paths without confirming each try.
reply
I don't think you can probe for the full amount without sending it, and probing for 1 sat is useless.
reply
Just include an invalid payment hash in your probes. You can probe any amount and gauge by the errors returned whether the payment would have succeeded.
reply
maybe. but if wallets start doing that it will flood the network with failed htlcs and the rules will evolve to blacklist the probing nodes.
reply
maybe. but if wallets start doing that it will flood the network with failed htlcs and the rules will evolve to blacklist the probing nodes.
the lightning network does not currently penalize nodes that send failed payments and for that reason payment probing is very common. The vast majority of payment attempts on lightning fail, largely because so many of them are not "real" payments, just probes. End users do not see these as failures because their wallets don't show them, since they are just "checking" to see if a future "real" payment (to be made seconds later) is likely to go through.
reply
Lightning needs the ability to charge a non-zero fee for the right to hold an HTLC open. Channels don't always need to charge that fee. But we definitely need the ability to charge those fees when under attack.
Of course, this is ugly for wallets as failed payments will still cost money. But it's better than the alternative.
reply
Will nodes still be able to fail payments for any reason? If so, that implies that routing nodes can fail payments for whimsy's sake and still charge for them. If (1) routing nodes can fail any payment (2) still get paid for it and (3) reliably get other routing nodes to try to route payments through them, then this downside follows: scammers will spin up routing nodes, fail all payments, and watch the proceeds come rolling in.
Thankfully, routing nodes who regularly fail payments currently get quickly blacklisted by other routing nodes, so I don't think number 3 will be true. Trolls won't make much money once they're blacklisted. Assuming channel opening fees cost more than trolls can earn by trolling then the fact that they *can* do it shouldn't cause any serious problems, because there's a monetary disincentive to hopefully stop them from doing it. Here's hoping.
reply
Will nodes still be able to fail payments for any reason?
Of course. It's impossible to prove to a third party the reason why most failures happen.
But as you say, reputation and setup costs will limit the usefulness of that fraud. Channels have a pretty big cost to create, especially in the current system where you have in fact proved ownership of the txout.
I always monitor failed htlcs going through my node and never see the reason that preimage was incorrect. So what you describe is still theoretical.
reply
because channel balances are not advertised and the sending node needs to probe again and again which routes will work. a large payment is normally split into shards, which makes the thing even more complicated.
reply
After reading alll the comments I can only say that a broader adoption can't be happening just like this. We need to oversimplify things for everyone. Otherwise, I regret to say that Bitcoin and LN will always be the things for plebs only..
reply
LN is a nonsense story, tooo technical, with many downsides, unfortunately... 🙈
reply