By Rusty Russell & Joe Netti

The Lightning Network is growing exponentially, currently at over 35,000 channels and counting. Existing implementations of the Lightning protocol are, by and large, handling this growth well. However, the burden on hardware is increasing, and if the growth of channels continues to accelerate, the network will be facing scaling issues in the not-too-distant future. Finding an efficient route through a million channels isn’t easy.

We’re very bullish on the Lightning Network at Blockstream, so some of our c-lightning team decided to head off the scaling problem before it emerges by launching the Million Channels Project.

The Million Channels Project

The Million Channels Project was proposed by Rusty Russell and implemented by Joe Netti. It approaches the Lightning scaling problem from a couple of angles:

Network simulation: realistic network modelling to facilitate informed optimisation of the various Lightning implementations. Code optimisation: improvements to c-lightning’s gossip protocol to reduce routing overheads, based on the results from million-channel simulations.

Aside from preparing the network for future growth, the optimisations achieved by the Million Channels Project also have the upside of allowing smaller hardware to operate as a node. A Raspberry Pi for instance, should now have no trouble running a c-lightning node.

This project would not have been possible without the help of Blockstream colleagues Rusty Russell, Sebastian Geisler, Christian Decker, Lisa Neigut, and Pieter Wuille.