Proposal: The Million Channel (Lightning) Project

I’ve had this idea for a while, but I’ve never got around to it so I’m calling publicly for collaborators: https://github.com/rustyrussell/million-channels-project

The project would be in several parts:

  1. Do some rough analysis of the current lightning network: number of (public) channels, number of nodes, distribution of channels by node, and distribution of channels in blocks.
  2. Apply a scaling factor to make a similar network on regtest, preferably in a reproducible manner. This would be the corpus.
  3. Write a program to generate all the gossip generated by that network.
  4. Feed the gossip into a test node and watch it die horribly.
  5. Fix the bottlenecks in each implementation :)

Obviously, there are an infinite number of refinements, but I expect we would get useful results out of even a simple version of this. It would be nice to get ahead of network growth and uncover issues before they become deployment problems.

Meanwhile, thanks to a nice stream of bug reports from Javier on Telgram, I’ve ordered a Raspberry Pi as my third lightning node for more performance testing.

Contributions welcome!