Hello Kulpreet,

thank you a lot for your work, your post highlights some really interesting 
results.

I'm looking forward to your future work measuring the network's structure and 
decentralization. Moreover, I find thinking about the LN as a flow network to 
be a real interesting perspective. In fact, as an initial entry towards this 
direction, we did some work on a multi-path routing algorithm based on the 
push-relabel algorithm (cf. [1]). However, I think there is much room for 
improvement and other flow algorithms could turn out to be promising candidates 
for routing in the LN.

As far as I understood, you would be using flow algorithms for a more in-depth 
analysis of the networks graph structure?

Kind Regards,

Elias

[1]: https://arxiv.org/abs/1708.02419


On 29 Aug 2018, at 8:40, Kulpreet Singh wrote:

> Hi René,
>
> Thanks for sharing the links to the issues and the excellent work you are 
> doing.
>
> I see that you are quite interested in helping autopilot create a
> graph such that is provides certain characteristics. It is quite a
> challenging task, and I admire your courage to take it on. I saw your
> lib-autopilot too, though I didn't take a closer look at the code yet.
>
> I am focussing on a much simpler task of figuring out which metrics
> the community will find useful and then trying to determine which
> algorithms we could quickly run to get some initial results while we
> try to develop more pertinent analysis algorithms.
>
> I focussed on betweeness centrality and articulation points as
> personally I was most curious about those. Next I want to try and
> figure out which max-flow algorithm might suit LN the best. Have you
> looked at this? I might have missed something you might have already
> pointed to.
>
> I noticed your concern about tracking articulation points. I agree,
> that once central point dominance goes down the dependence on some
> important articulation points will go down too. But as I noticed in my
> results, some nodes are high in the list of articulation points sorted
> by the number of atleast 5 node biconnected components they connect
> to. But their centrality is not that high. For example,
> mainnet.lightningconductor.net is in the list of top articulation
> points but does not make it to the list of top 20 nodes by centrality.
>
> I am still curious about articulation points and want to keep tracking
> it, who knows we might learn something interesting by tracking the
> information.
>
> I am curious how are you running your graph evaluations. Are you using
> python binding to BGL or python networkx?
>
> I imagine we got slightly different results also because we used data
> from different times. I intend to publish the json output I got from
> LND when I get around to plotting my results on a chart so we can
> verify I am not making an error somewhere.
>
> Thanks and regards
> Kulpreet
>
>
> On Tue, 28 Aug 2018 at 00:31, René Pickhardt <r.pickha...@googlemail.com> 
> wrote:
>>
>> Hey Kulpreet,
>>
>> thanks for this nice overview article! I have just today implemented a first 
>> draft for the c-lightning autopilot [0]. I have implemented 4 heuristics to 
>> select nodes to which one could connect. On of those [1] samples from the 
>> nodes that contribute to the high diameter. This heuristic was included not 
>> to increase the utility of the node that is running the autopilot but to 
>> improve the network properties. I believe that this heuristic should also 
>> reduce the articulation points and biconnected components that you mention 
>> in your article. As endpoints of longest shortest paths will most likely be 
>> in two different biconnectivity components (at least if those exist and have 
>> a certain size).
>>
>> Regarding the centrality. I also calculated the betweeness centrality and 
>> have similar results  [2] to yours. I guess the difference will be due to 
>> the fact that we don't work on the exact same snapshot. My autopilot 
>> implementation also connects to a few rather central nodes. I doubt this is 
>> useful for the network but I guess it is good for the node running the 
>> autopilot since it gains access to many nodes. ( Actually I think - but 
>> don't know - that in combination with [1] it even helps the network).
>>
>> Regarding your 200 Articulation points I would guess that many of those are 
>> just nodes that only have one channel with the node that acts as an 
>> articulation point. I guess this is not something that we would need to take 
>> care of so much since it is also in the responsibility of those nodes to 
>> have more than one channel. for larger biconnectivity components the problem 
>> would probably be resolved with the above mentioned heuristic. Therefor I 
>> believe looking at the articulation points should not be our main focus.
>>
>> Something that (regarding the autopilot) I am currently missing in your 
>> article is how much funds should be allocated for the suggested channels. I 
>> am currently experimenting with a probability density function that is 
>> proportional to the average capacity of each node in the candidate set. I 
>> smooth this with a uniform distribution. However simulations at this point 
>> are quite expensive (if done primitively since the centralities have to be 
>> recomputed) I guess this would be a nice future work. I will probably 
>> tomorrow publish the rest of the code for the lib-autopilot that uses this 
>> heuristic for channel balances since I am currently still working on it.
>>
>> If you consider working more on the autopilot but also on research related 
>> to this I would also suggest the following resources [3],[4] and [5]
>>
>> [0] https://github.com/ElementsProject/lightning/pull/1888
>> [1] 
>> https://github.com/renepickhardt/lightning/blob/8c91f57490b51f772513a274d679d3ab62e7201a/contrib/lib-autopilot.py#L205
>> [2] https://twitter.com/renepickhardt/status/1034066602273193985
>> [3] https://github.com/lightningnetwork/lnd/issues/677
>> [4] 
>> https://github.com/renepickhardt/Automatically-Generating-a-Robust-Topology-for-the-Lightning-Network-on-top-of-Bitcoin
>> [5] 
>> https://www.rene-pickhardt.de/improve-the-autopilot-of-bitcoins-lightning-network-summary-of-the-bar-camp-session-at-the-2nd-lightninghackday-in-berlin/
>>
>> best regards Rene
>>
>>
>> On Mon, Aug 27, 2018 at 11:59 PM Kulpreet Singh <zapfm...@gmail.com> wrote:
>>>
>>> Hi all,
>>>
>>> I have been thinking about how we could measure the centrality of
>>> various nodes in the LN graph and the dependence on some nodes to
>>> route payments and to prevent network partitions. I think measuring
>>> and tracking the changes in key metrics could help the community
>>> decide on which nodes to open new channels with.
>>>
>>> I measured the centrality of nodes and the central point dominance as
>>> defined in the seminal paper by Lindon C. Freeman, "A Set of Measures
>>> of Centrality Based on Betweenness", Sociometry 40, pp. 35-41, 1977.
>>>
>>> I also measured the number of articulation points in the network as
>>> per Robert E. Tarjan, "Depth first search and linear graph algorithms"
>>> SIAM Journal on Computing, 1(2):146-160, 1972.
>>>
>>> I want to add, that this is just a start, I understand that we should
>>> probably look at treating LN as a directed graph and that we should do
>>> some work in trying to do some analysis based on treating LN as a flow
>>> network.
>>>
>>> However, I am eager to share my early results and would welcome any
>>> feedback or suggestions on the way forward.
>>>
>>> I wrote a medium post describing the approach and show my results
>>> there. I also elaborate on the choice of the two metrics and what they
>>> mean for LN. The post is available here:
>>> https://medium.com/@jungly/measuring-node-centrality-in-lightning-network-8102a59999f0
>>>
>>> Looking forward to your suggestions and feedback.
>>>
>>> Thanks
>>> Kulpreet
>>> _______________________________________________
>>> Lightning-dev mailing list
>>> Lightning-dev@lists.linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev
>>
>>
>>
>> --
>> https://www.rene-pickhardt.de
>>
>> Skype: rene.pickhardt
>>
>> mobile: +49 (0)176 5762 3618
> _______________________________________________
> Lightning-dev mailing list
> Lightning-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev

Attachment: smime.p7s
Description: S/MIME digital signature

_______________________________________________
Lightning-dev mailing list
Lightning-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev

Reply via email to