Lightning Network scalabity woes

Lightning Network scalabity woes

Had Lightning Network not been forced down our throats, we might have come to really like the technology. But like many things in life, it comes with a politically burdened narrative. Lightning Network in its essence is not a bad thing, and can have some excellent use cases, particularly for HFT (high frequency trading) -like transactions between big entities.

For the average, and ordinary user, it is a far cry from the simplicity, and ease of use that BTC had many years ago.

Today the majority of Bitcoin users wouldn’t even know what to compare Lightning Network to. The migration to off-chain solutions has been done in the most patient, and calculated of ways.

There are many problems that BTC has today, that have been artificially created and introduced to the system over the years. Scratch the surface and you’ll find that this has been one long intentional method to skew the road map, introduce problems for which supposedly LN and sidechains can fix in future.

The first and most obvious claim that LN makes is that it resolves the Bitcoin scalability issue. The second is for instant transactions. Both of these were non-issues in the beginning. Bitcoin was able to both scale, and perform virtually instant transactions. In fact, Satoshi Nakamoto himself in 2009 stated “The existing Visa credit card network processes about 15 million Internet purchases per day worldwide. Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling”.

The scalability issue for Bitcoin has been concocted artificially, and introduced into the system over time, deliberately to stall progress. In fact, the Bitcoin Unlimited team, together with nChain last year proved that the real limitations on block propagation is not hardware at all, but rather the Satoshi codebase. With some tweaks and changes, the throughput can be increased substantially. BU were able to mine and propagate 1GB blocks across three continents in a sustained effort, achieving VISA level scaling. At that point, the limit is still software related, and not hardware. By making further changes to the model of the processing infrastructure, we can achieve much higher throughput still.

It’s important to note that 1GB blocks were mined and propagated using very ordinary 16GB RAM, 4 core machines, with good internet. Despite this, there is still a propaganda at play that says Bitcoin should run on raspberry pis. It’s time we start taking the Bitcoin project seriously and understand, that in order to be a competitor, as a global currency, with global adoption, we should not expect the network backbone to run on hobby computers. Satoshi very much predicted and anticipated that server farms with specialized hardware would eventually do all the mining. VISA doesn’t run on a 286 machine, and we shouldn’t expect Bitcoin Cash to do so either. This means dedicated services, cloud, and ASICS (which are by definition “specialized hardware” as Satoshi put it). The bigger Bitcoin gets, the more decentralized it gets. The higher the price, the more competition, and the more miners join to compete for a piece of the pie. Nodes that don’t generate blocks contribute nothing to the decentralization of Bitcoin, only miners do. So, by this regard, a bigger Bitcoin that is allowed to grow, and isn’t artificially handicapped, actually ends up being more decentralized, than a small one.

With scalability being a non-issue, and an entirely fabricated one, the one thing LN has left is fast transactions. Once upon a time, BTC actually used to do transactions very quickly. In 2014 and prior, you could pay for items in a virtually instant manner. Again, false propaganda was spread that said unconfirmed transactions were unsafe. This was another lie invented designed to de-rail the roadmap, and skew the objectives of the system. Research has already been done to confirm that by querying a number of nodes, we can heavily reduce the probability of a double spend. 0 confirmation payments (tech-speak for fast payments) were very much safe, and many merchants relied on such things for smaller payments. In fact, 0-confirm (instant payments) on BCH are safe up to the order of at least a couple of thousand-dollar transactions. Beyond that, it would be advisable to wait for a confirmation. And of course, if you were to purchase a house with your BCH, then perhaps wait out for several confirmations. The bigger a transaction, the more incentive a criminal has to attack, and consequently, the more incentive a merchant has to ensure they receive an acceptable number of confirmations.

Today 0 confirmation payments on the BCH network, work like charm. Try loading up a few dollars at cashgames.bitcoin.com and have a game of roulette. But take note of just how quickly, you can deposit some coin and start playing, and how quickly you can withdraw your winnings. Literally almost immediately.

Lightning Network has a use case indeed – and it’s not for scalability. This is the problem. First it was Segwit that was touted as a scalability fix. Now, it is LN that is touted in the same way.

Here’s the blow: LN assumes every user has a Lightning Network Node, and that it has been connected to the rest of the network of connected users, by opening a channel to a well connected node. The assumption is that, over time, more and more nodes will connect to the network and create large clusters of connected nodes all of which are interconnected, allowing anyone to pay anyone by routing a payment through a set of nodes. Joining the network requires an on-chain transaction (to establish a channel), and your node needs to remain on. We know already, that as BTC becomes more and more popular, $100 transactions are not unusual (it’s already happened). And this would be the cost for opening and closing a channel. This seems like a costly exercise with a lot of friction. Time. Effort. Money.

All in all, it is extremely difficult for the 3rd world to embrace the Lightning Network. You literally cannot pay a poor person, unless they pay an on-chain transaction fee to open a channel to the network first. Sure, you can pay the on-chain transaction fee yourself to open a channel directly to them, but then, doesn’t that defeat the purpose? The idea of LN is that you don’t have to open a channel with every single person you want to transact with…

Where Lightning Network wins is with major corporate entities that require dedicated channels between the two for fast, efficient payments, that can be settled on chain at close of day. In such a scenario the distance would be d<3 and could be deemed safe from a Sybil attack. LN has use cases. I stand by that. But to call it a scalability fix would be an abomination.

Any scalability fix should work holistically. It should not cater to some and not others. If Bitcoin today works for both rich and poor, then a scalability fix for tomorrow should not simply cater for the rich. That’s not a fix, that’s a hack.

Today, BTC has what’s known as an unspendable wallet problem. That is, there are currently countless number of wallets out there, which have less money in them, than the minimum fee required to make a transaction. These are dead wallets, with money that cannot be moved. With Core’s “full block policy”, this problem won’t go away. And at times of heavy use (such as during the peak of the All-Time-High earlier this year), the number of unspendable wallets blows up to dramatic numbers. A simple blocksize increase fixes this problem in its entirety. Lightning Network does not. Unspendable wallets remain a fact of the system with LN, since an on-chain transaction is required to open and close a channel.

Off-chain transactions are not at all harmful to the system. But forcing the majority of users to use it, makes it stink. Yes, we’ve heard, it’s “opt-in”. But is it really? Do users have an economically sound choice when they are forced to pay transaction fees on-chain because of an artificial lever that developers control?

These off-chain transactions are a clever use of Bitcoin script, creating a bunch of unconfirmed transactions that sit there until close-out. Essentially, these transactions are a form of what many in the in the crypto space now refer to as “smart contracts”. But for Bitcoin, smart contracts should be the exception to the usage of the system, and not the rule. Core have decided to switch that right around.

Eli Afram
@justicemate

New to blockchain? Check out CoinGeek’s Blockchain for Beginners section, the ultimate resource guide to learn more about blockchain technology.