Post
Topic
Board Development & Technical Discussion
Re: Important Lighting Network reading- for everyone!
by
nullius
on 06/02/2018, 15:03:23 UTC
...
I will make explicit a specific question I earlier implied:  Are the Lightning engineers availing themselves of the fine research literature on network routing protocols and routing algorithms?  If that could be answered off-hand by anybody who’s been following Lightning development much more closely than I have, I’d be much obliged.

Thanks.

When following older threads, there is lot of discussion on onion routing. But here in the forum I haven‘t seen engineers discussing the research literature.

There has been a short discussion, but it did not get the desired attention it deserves... https://bitcointalk.org/index.php?topic=2573055.msg26369895;topicseen#msg26369895

The routing itself is described here:
https://github.com/lightningnetwork/lightning-rfc/blob/master/04-onion-routing.md

Thanks, pebwindkraft.  Of course, onion routing for privacy is a subject near and near and dear to my heart.  (The name of the Tor network started as an acronym for “The Onion Router”; it was later declard simply “Tor”.)  As a general concept, it is a source-routing method which conceals prior hops from each next-hop, including the destination; and I am glad to see the active development of an onion-routing implementation for Lightning Network.  But that’s not the type of routing problem I had in mind, when I thought about the IP network analogy.

Network routing is one of those arcane specialties filled with scary-smart people who know all the minutiae of complex systems which most developers are barely aware exist.  (How does the Internet really work?  How do all those little packets know where to go?  Magic!)  I am not in that specialty, and I’m not familiar with its research literature—but I know it has such a thing, and a quick search found some handy starting points:

https://www.caida.org/research/routing/
(CAIDA is an important site, by the way...)

https://www.academia.edu/Documents/in/Routing_protocols

When OP’s link launched a train of thought about Lightning and networking, what first occured to me was that Spanning Tree Protocol might somehow be applicable.  Of course, that’s not an Internet routing protocol; but it is the standard staple for organizing the network topology on LANs.  Then, I thought of Internet routing.  Also, self-organizing mesh networks.

The general question is:  Given a global set of nodes which form and remove links between each other unpredictably, how does each node organize its own view of potential routes and choose optimal paths?

I think there are a few network characteristics of Lightning which are sui generis:  The problem of optimal (or even possible) routes involves monetary calculations, both as to fees charged, and as to availability of funds on each channel which provides a potential hop.  Indeed, network “cost” is monetary, rather than usual measures of network bandwidth and latency.  Otherwise, however, it mostly sounds like just the sort of problem for which a network routing specialist would have applicable existing expertise.  Whence my question.  Lightning development must already encompass some answers to these questions; and I expect that routing optimization may be a significant area of evolution and improvement as Lightning grows and matures.

And I read, Acinq/Eclair is using the flare routing engine. Haven‘t found the spec yet. If someone has?

A quick search found only some PDFs pertaining to a financial order routing system, on a site which won’t load for me (probably blocks Tor).  I have no idea if those be relevant.  But come to think of it, there’s another pre-existing field which is likely to have applicable existing knowledge.


I have a lot of reading to catch up on.  Thanks for the discussions and ideas you are all sharing. I won't be able to understand half of it, but still great.

Hey, thanks for posting the link in OP!  That started an interesting discussion—one in which I myself have mostly questions, not answers.