Lightning Network, a technology often touted as the solution to Bitcoin’s scalability problem, has been growing leaps and bounds in popularity in the recent months in spite of being at a nascent stage. The technology has been tested successfully for processing micro-transactions swiftly. But it seems Lightning Network still struggles with transferring bigger amounts.
Lightning Network can only ensure 100 percent success rate for transactions of up to three cents, a report by cryptocurrency research firm Diar suggests.
The publication found that anytime someone uses the Lightning Network to transfer a sum larger than $5, there is 50-percent chance the transaction could fall through. The chance of failure is even more striking with bigger amounts. Sending $490 – the maximum amount currently allowed on the network – has only one-percent chance of success.
Diar sourced the data from Reddit user YeOldDoc who used lnmainnet.gaben.win to plot the probability of successfully routing a payment between random nodes on the Lightning Network. YeOldDoc made the calculations based on how many nodes have the capacity to route a payment of that size.
One interesting takeaway from the Diar research is that despite its rapid channel growth, Lightning Network has yet to improve the transaction efficiency of its system. As pointed out by Cornell University computer science professor Emin Gün Sirer, the number of Lightning Network routes has grown 10 times in the past five months, but the probability of successful routing has not increased at all.
Developers have been implementing Lightning Network payments for fun activities online in order to test its utility for micro-transactions. This includes playing Pokemon with it, buying candies, or doodling penises on a graffiti board. But, we are yet to see any implementation for payments above a few dollars.
The total network capacity of Lightning Network crossed $150,000 in April with more than 2,000 active running nodes and 6,600 channels. At the time of writing, the total network capacity seems to be still nearly the same, with more than 2,500 nodes and 7,800 channels.
Lightning Network acts as a “second layer” to a payments blockchain, allowing for faster transactions with very little transaction fees. The Network works by creating “channels” between nodes.
Any two nodes on the Lightning Network can agree to hold their coins on a common wallet. The channel is essentially a multi-sig wallet — where the consent of both parties are required before funds can be moved out. This wallet is then registered on the blockchain.
This process means that the wallet now acts as a ‘payments channel,’ which can be used to pay the cryptocurrency without requiring to register the transaction on the blockchain. When they finally close the channel, the resulted transaction is recorded on the blockchain as one transaction. This allows the two parties to carry out swift transactions with low fees, as their transactions don’t have to wait for miner confirmations every time.
This doesn’t mean that you need to create a channel every time you want to transact with someone. You can use existing channels of the people you are connected with.
But there is a catch. For the transaction to go through, everyone involved in the transaction will have to be online. This includes you, the person you are sending the money to, and, if you are using someone else’s channel, then they have to be online as well.
In addition, the channel — you are making the transaction through — should have enough funds to support your transaction, that is, twice the amount of the transaction value.
This is what gives rise to the payments not going through for larger amounts.
Through current means, if you want Lightning Network to process large transactions, you need nodes that can create larger channels that can always be online.
Clearly, individuals are less likely to fit the bill.
Large cryptocurrency exchanges can create Lightning channels to increase its network capacity and increase the probability of transactions going through. But as Diar points out, opening up a Lightning channel will likely land them in regulatory trouble.
The exchanges are required to perform know-your-customer (KYC) and anti-money-laundering (AML) checks on users of their platforms. Through Lightning Network, while you can do this for channel creators, they can’t control where the actual transactions are routed.
It is important to remember that the technology is still in its nascent stage. With subsequent improvements, and an increased number of nodes (therefore, channels), it might ensure that Bitcoin lives up to its creator’s vision as a peer-to-peer electronic form of money that can be used for everyday transactions.
Update 16:30 UTC, June 26: Lightning Labs co-founder and chief technology officer Olaoluwa Osuntokun has since downplayed the methodology used in Diar’s research.
“Based on what I can find with respect to methodology used to generate these metrics, […] the model itself is flawed, and produces flawed metrics,” he told Hard Fork over email.
Among other things, Osuntokun noted that the research failed to factor out Lightning Network channels that simply do not offer support for transactions larger than their specified amount. “When one takes into account how Lightning Network works, this is akin to saying ’the probability of room that fits 10 people will be able to fit 50 people is 0 [percent],’” he said.
(For the record, Diar and the Redditor who originally provided the data claim they did remove nodes with insufficient capacity from their samples.)
Another issue in Diar’s methodology is that it assumes the maximum transferrable amount is $490. Osuntokun has clarified that the maximum payment size on the Lightning Network currently stands at 4,294,967 satoshis – or about $260 at the time of writing.
“By not removing channels which have a total capacity that’s less than the target amount to be sent, the results of the model are greatly skewed, as they include nonsense data points,” Osuntokun added.
Update 08:40 UTC, July 2: In a response to the Lightning Network development team, Diar has since defended the legitimacy of its research. The full response can be found here.
Speaking to Hard Fork, Lightning Labs CEO and co-founder Elizabeth Stark expressed skepticism at the validity of Diar’s research model, referring to the data set as “flawed.”
In the interest of full disclosure, we’ve also decided to include Osuntokun’s full unedited response to Hard Fork from June 26:
Based on what I can find with respect to methodology used to generate thesemetrics, and my knowledge of the underlying protocol (I’m one of theco-authors of theLightningProtocol specification, the lead developer oflnd, and the CTO+Co-Founder ofLightningLabs), IMO the model was created bysomeone that at the time, didn’t understand exactly howLightningworks at alow-level. As a result, the model itself is flawed, and produces flawedmetrics.First, it’s important to understand that the LN is a flow-based debitnetwork in a sense. Flow based because payment cannot proceed on a pathunless the path has a sufficient amount of BTC to satisfy the payment, anddebit-based as each channel has a limit on the maximum amount of BTC it cansend/receive.With this set up, we can now examine the flawed methodology of the payment.It attempts to compute “the probability that any two random nodes on thenetwork can send a payment of size X BTC, given that they have at least 2*XBTC in the channel”. The flaws with this methodology are as follows:* It doesn’t remove channels that inherently have a capacity of less thanX BTC. For example, according to this model, “the probability of sending50 BTC with a channel that has a 10 BTC capacity is 0%”. When one takesinto account how LN works, this is akin to saying “the probability of aroom that fits 10 people will be able to fit 50 people is 0%”.By not removing channels which have a total capacity that’s less thanthe target amount to be sent, the results of the model are greatlyskewed, as they include nonsense data points.* Currently on the network, most nodes have very small channels. Forexample, since many of the popular Lapps (Lighting Apps) aremicropayment based games or services, most users only open very smallchannels. For example, satoshis.place pays for each pixel by thesatoshi. At the time of writing, 1 satoshi is $0.00006151, so even justa channel of $2 can go a very long way!As the distribution of channels are skewed on the smaller size atm,failing to remove channels that have a capacity less than the targetpayment size has a dramatic effect.* It claims the probability to send $490 is zero. However, protocolcurrently has a max payment size of 4,294,967 satoshis, which at thetime of writing is ~$264 dollars! Once again, by using an erroneousmodel to generate metrics, the result is fundamentally incorrect.* It includes nodes that have zero channels in the computation. Mostclients will continue to track nodes that no longer have any channelswithin their view of the network. This further skews the metrics.* It doesn’t factor in a technology we’ve created atLightningLabs calledAtomic Multi-Path Payments (AMP). Currently, on the network, eachpayment can only utilize a single channel. As a result, if I have 5channels that are $10 each, then I’m unable to make a payment of $50. Ican only make a payment of $5 since I can only utilize a single path.AMP changes this, as it lets users utilize _all_ their active channelswhen making payments. As a result, users will be able to make a widerrange of payment as they’ll be able to utilize the fully aggregatepayment liquidity of the network.To illustrate how big of a deal this is, even many $2 channels on thenetwork would be able to be _partially_ utilized to create a say, $100payment by my node. AMP also decrease the importance of very largechannels, which lessens concentration pressure on the network, as yournode doesn’t need to have a ton of money distributed in channels to beuseful to the network, and earn routing fees.* As the network is still at an early stage, most users aren’t yetdistributing a large number of funds within the network.* The question of “if a node can pay any other random node” may notactually be pertinent when you consider the typical access patternof most consumer payments. Most people pay the same handful ofservices/people each month in a predictable pattern. As a result,within the network, most nodes will never even need to send apayment to other nodes in the network, instead they’ll be sendingpayments to the services/games/businesses they use the most. Thetypical access pattern of payments _it not random_.* “In a world of AMP, what’s a more relevant metric to track in order togauge the throughput of the network?”The answer to this is to instead track the max-flow  from any one nodeto another. It allows one to compute the largest flow possible in anetwork from a single source to a single sink. As Lightning is a flownetwork, this is a more pertinent metric. Applied to Lightning, whenfactoring in AMP, this would answer: “what’s the largest aggregate paymentthat one node can send to any other node”.
Published June 26, 2018 — 14:48 UTC