I am aware that it might not be popular on this site as the most of you came here because you think LN is ground-breaking technology, but personally, I think it is sometimes worth to look on thing carefully and also consider its weak points. I found an interesting video on YT. The author is presenting the basics of LN paying attention to its limitation.
What turned my attention the most was the routing issue. It seems that the construction of the channels and the dynamic nature of their capacity will not allow doing efficient mapping and consequently the routing also will be ineffective and expensive. I don't know if this issue was already addressed and mitigated. I would appreciate your comments on this topic.
Routing doesn't have to be efficient. LN is a degree-of-separation network. It does not require an optimal route, just a valid route.
Let's just think about the routing problem for a second. How many IP addresses are there in the world - how many can we support? (Ipv6 too). The internet seems to work just fine, doesn't it? The internet is also decentralized - no one entity controls it. We're able to route between any two devices on the internet using just IP. This happens even when we lose connections from time to time. Nobody really notices. The argument that network routing in a large network is impossible is an absolute fallacy.
About the fees: there will be a fee market, and it will be a race to the bottom. Nodes with lower fees will earn more funds through transactions since they will be preferred over nodes with higher fees. This is in contrast with the blockchain fee market, where the fees increase with volume. In LN, fees will decrease with volume!
You also have to consider AMP, which will make payments of larger amounts much more effective over LN.
I'm not sure if Internet routing is a good comparison here. If you route a packet through the Internet, you don't mind which path it will be routed; you simply have to know the next hop, then next hop decides if it can reach destination directly or the packet has to be routed to the next hop. Additionally at the end when the packet reaches its target, the acknowledgement is sent back, so the sending host knows that the communication was successful.
As far as I understand in LN is more like onion routing, so the source has to map the network first, chose the path and then send the payment. So, if the capacity of the route changed in the meantime, the payment would fail or stack in the limbo. Currently, the network is relatively small; there are well-connected hubs, that's why paths are rather short and fast.
You will never end up with a transaction stuck in limbo. Yes, there is onion routing in LN, but that means that the node receiving payment will not know which node sent it. It will only be able to know which connected node it came in on - not the actual origin.
I have made payments with 5+ hops on my node. Maybe I should add some of these statistics for withdraws so users can see the LN in action.
There is no risk of channels changing when payments are being made during a transaction. Once the final hash of secret is known for the payment, it is cryptographically secure to know the funds are there on the route (or else the payment would fail entirely). The searching for a path may take some time, but the payment once found is instant - like a "lightning" strike.
The cool thing on LN, is that when someone makes a payment to ZapRead, I do not know the node that payment came from. As a store, or fundraiser, you can truly receive anonymous payments with LN.
Here is one (of many) examples where the ZapRead LN Node is making several hops in a payment: https://www.coinpanic.com/Lightning/ShowTransaction/44442
Basically, we should expect every node to be within no more than 6 hops when the network gets very large.