Diane Reynolds just penned an article in defense of the Lightning Network (LN) as an off-chain, decentralized payment solution. This article appeared in response to the piece written by Jonald Fyookball and a Reddit post by jstolfi. Both pieces claimed Lightning Network cannot remain decentralized over the long term for mathematical reasons.
Fyookball’s article specifically used various examples to demonstrate decentralization is unlikely to manifest over the long term. Diane responded more directly to a challenge issued by jstolfi. The user’s challenge said:
“There is a very simple way to shut criticisms like Jonald’s and mine. Just provide a hypothetical scenario for 10 million users with topology and numbers — how many customers, merchants, and hubs, how many channels and payments (per day or per month) per user for each pair of those user classes, and how much bitcoin each user commits to his channels, etc. Then anyone who doubts the viability of the LN can simulate it with those data, and conclude for himself. Any takers for this challenge?.“
Reynolds’ Critical Analysis of Jstolfi’s challenge Using a Simulation
Reynolds responded with answers to the challenge. In the first part of Reynold’s analysis she mentions she ran some ocaml code to simulate a Lightning Network environment topology with 10 millions users. She used her model to create a situation that is reminiscent of proper lightning network transaction details. For instance, the payments were of all sizes, big, midsized and micro. She also made her code search for the least expensive channel for payments to be accepted.
One of the primary arguments for decentralization via Lightning Network is the notion that plenty of redundancy on the network de facto creates decentralization. Reynolds argues that so long as nodes can hop between and connect with different nodes the system cannot become centralized. She said,
“A first possibility for edges is to use the binary representation of numbers from 0 to 9,999,999 (requiring 24 bits) and include an edge whenever the two bit sequences differ by exactly 1 bit (a Hamming graph). All nodes would be reachable with (many) paths of at most 24 hops, and 12 hops on average.”
In her analysis, Reynolds describes the state of the network after simulating 400,000 transactions. At this point, Reynolds navigated through various transactions on the network in order to answer the original challenge. She determined that there were very few transactions failures across the network. However, she also said that there could be a problem if she continued doing simulations on her program.
“Among the 7 million channels used routing the almost 400,000 successful payments 294508 (4%) have 90% or more of the value on one side of the channel. This does not appear to be a problem yet, since this is still only 0.4% of the total available 70 million channels, but it might become a problem with longer runs of the simulator.”
Regardless according to Reynolds, it was a non-problem. There did not seem to be a significant amount of unbalanced transactions. There could perhaps be problems on the network simulation, but she could not pinpoint any issues.
In her final thoughts, Reynolds suggested that 10 millions users can be sustained on the network in a decentralized fashion. However, she mentions that this is not how Lightning Network is supposed to function, but that it is technically possible. She does mention that if anyone has stronger computing hardware, they can run the simulation with even more users and more channels.