Hacker News new | ask | show | jobs
by user-the-name 1804 days ago
> if you're trying to say that routing in lightning is an instance of traveling salesman, you're not only wrong - routing is actually shortest path problem

I am not. I am saying we don't have the map that we need to solved the shortest path problem, and we have no way to get that map.

> by this metric nothing on the internet is peer to peer, because packets are routed through intermediaries

And we have routing protocols to do so for the internet. We do not have one for the Lightning network that works at scale.

> yes, there will be hubs, large and small and there will be clusters of interconnected local meshes and there will be users routing however they wish through the system instead of taking the cheapest most connected path.

No, there will only be a small number of very large hubs. Nothing else actually works in practice.

1 comments

> I am saying we don't have the map that we need to solved the shortest path problem, and we have no way to get that map.

of course we do, connectivity graph and updates to it are gossiped all the time and each node has imperfect representation of it.

> we have routing protocols to do so for the internet. We do not have one for the Lightning network that works at scale.

we do, lightning nodes do that all the time right now.

> there will only be a small number of very large hubs. Nothing else actually works in practice.

again, you're making a statement without backing it up by anything.

your entire argument boils down to: if a node can't have perfect information about connectivity graph, then it can't perfectly route payments.

and you're right, that statement is true, but it is irrelevant because imperfect routing through imperfect connectivity graph is fine and works great.

> of course we do, connectivity graph and updates to it are gossiped all the time and each node has imperfect representation of it.

Yes, that is exactly the part that does not scale beyond a toy network, and for which there is no solution.

maintaining a perfect and complete connectivity graph - hard.

maintaining imperfect and incomplete connectivity graph - much less hard.

be careful, maybe you're invested into something that becomes irrelevant if LN works, in which case you might want to be less rigid in your thinking and follow the developments more closely to pull out or risk losing your investment. because LN already works: tens of thousands of nodes and channels, millions of dollars in the network and growing at healthy rates.

And the bigger the network are and the more transactions there are, the more important a complete connectivity graph is, and the more failed transfers you will get if you have an inaccurate graph. However, the bigger the network is, the harder it is to actually gather an accurate graph.

Thus, it doesn't scale.

> Thus, it doesn't scale

you're wrong for two reasons:

- hubs do exist (big and small) and can exchange connectivity information more efficiently (and take fees for that service), so the network isn't growing like a full mesh (that is indeed very hard to maintain connectivity graph of) but rather as a collection of interconnected smaller meshes

- payments can be split up into smaller chunks that follow different paths and are executed atomically (either all or none), and if some chunks fail you can retry them within the same payment context

So in the first case, as I said, it can work with a few giant hubs. In the second case, it just progressively works worse and worse. Doing multiple routes atomically just gives you more reasons a single payment can fail.