Papers will always give a brief intro to the Lightning Network for the uninitiated. The Lightning Network is a Payment Channel Network built on the Bitcoin blockchain. This team of researchers deployed nodes in the Lightning Network to collect gossip messages (updates about the network). From this data, they analyzed the change of betweenness centrality distribution over time using a custom built simulator, Time Machine. They found that centralization of the network is increasing over time.

Lightning Network Gossip Simulator

Updates about the the Lightning Network are spread by gossip messages. There are 3 types of gossip messages:
  • node_announcement_message - announces the creation/update of a node.
  • channel_announcement_message - announces the creation of a channel, includes channel identifier
  • channel_update_message - announces the channel policies: routing fees, locktimes, etc.
These messages are collected by nodes to form a current view of the network.


The researchers collected gossip messages from April 2019 to January 2021. That includes:
  • 400k node_announcement_messages,
  • 1M channel_announcement_messages
  • 6.4M channel_update_messages
Time Machine is a gossip simulator capable of creating earlier states of the network by replaying gossip messages. The centrality of this reconstructed network can then be analyzed. The change in centrality, and how equally it is distributed, can also be analyzed.

Centrality Analysis

Fees & Betweenness Centrality

Fees for routing transactions made up of two parts, the base cost to forward a transaction plus a fee that scales linearly with size of payment.
Betweenness Centrality is the ratio of cheapest paths that pass through a node/edge to the total number of cheapest paths in the network: In the weighted graphs created by TimeMachine, the betweenness is based on the fee formula calculated for each of 3 transaction values: 0.0001 BTC, 0.01 BTC, and 0.1 BTC.
When analyzing the change in distribution of centrality, the researchers found that the network steadily became more centralized over time. When gossip messages were first being collected April 2019, it was found that 10% of nodes accounted for 70% of betweenness. Since then, centrality increased to the point that the 10% nodes in the network account for 90% of centrality. That means, assuming payments occurred at random. that this 10% of nodes handles 90% of network payment traffic. This can adversely affect the privacy of the network.



Reproducibility. All code/data is open source and on Github. Method is clearly explained. Analysis clearly showed that there is an increase in centralization over time.


The inline notation glossed over important definitions. The authors did not use a normalized betweenness centrality in their figures. This would have been a better way to display distribution as it fixes the possible values between 0 and 1.

Potential Extensions

It would be interesting to see there is a way to link multiple lightning nodes to the same owner (for example, LNBig) and re-analyze centrality.
Questions or technical corrections welcome :)
Here you can find some scripts to do calculations like in the paper.
How To Optimize Lightning Node Centrality
Oh nice!! An example on how to use timemachine Thanks for the link.
It looks like they use the greedy algorithm in the attached gist, and filter candidate nodes beforehand. I wonder how long it takes. 🤔
Nice breakdown. I think it will be interesting to see what options node operators will have in the future with routing payments. IIRC there's specifications in the protocol for specifying route points. Maybe two nodes can build a random circuit to a rendezvous point, similar to what Tor does?
Informative write up. IMO the ux/ui solutions need to improve to make it simpler and more straightforward for casual users to run a Lightning node.