Even those who know pretty much about cryptocurrencies, bitcoin blockchain and lightning network erroneously think that the Lightning Network (LN) technology is a magical solution to all the problems and perfect way to endlessly scale up blockchain.
The traditional blockchain, where each node transmits all transactions, is currently unable to store and process a big number of transactions. Even if the blocksize weren’t limited (1Mb base + 3Mb segwit), transaction processing speed would still be limited by the capacity of end nodes. (Here I’m not talking about SPV wallets where transactions are validated by full nodes.) Currently, end nodes can process several hundred million transactions per day, or 5,000-6,000 transactions per second. 250 mln transactions are validated when Bitcoin Core is installed. On a modern device with excellent Internet connection and SSD, this takes about 12 hours. On a less powerful processor like Intel Celeron, the downloading can take up to 3 days. Using server multiple-processor hardware can bring up that number to 2,500 tps. The theoretical maximum is 150,000 tps.
If you distribute the load among several computers, the task of transaction validation will be scaled linearly. However, it also increases the cost of equipment. This is bad news for those who don’t trust external payment platforms and are willing to launch their own service for accepting payments from users.
Obviously, blockchain needs the technologies to scale up its performance in a non-linear way.
Sidechains are, hands down, the best solution designed in the cryptoeconomy over the last years. At the same time, sidechains can potentially sabotage some of the crypto advantages, such as independence from a single point of failure and centralized control over users’ finances.
Sidechains that store additional information in their repository
One good example is segwit. Segwit is a duct tape solution that allows to increase the performance of bitcoin’s blockchain and its fork without undermining its compatibility with the existing clients. To increase the number of transactions in the block, segwit relocates a part of information on transactions into a separate repository. This way, each transaction will leave a trace in the blockchain.
However, that won’t result in a drastic boost in blockchain performance. It’s predicted that the number of transactions will increase by 2-2.5 times, on average. The theoretical maximum is x4 increase, on the condition that all transactions are multisig p2sh (e.g., LN clearing).
In fact, this method has the same effect as increasing the blocksize to 4Mb, only with a bigger load on the processor. At the same time, segwit has a few advantages, such as other useful technologies and compliance with Legacy clients. All this makes using segwit a necessary step.
The simplest and the most effective sidechain is an ordinary bank (or certain exchanges) with a crypto account. You deposit crypto to your bank account and exchange them with other bank clients without placing transactions in the public blockchain. (On some crypto exchanges, crypto transfers are made using a code.) Of course, the bank stores all transactions, both for its own purposes and financial monitoring. If you’re willing to make a transfer to another bank, this transaction will be registered in the blockchain. However, banks can agree to make interbank transactions under their own rules, e.g. using state as a guarantor.
This way, transactions are made outside blockchain, unloading the blockchain system.
Unfortunately, involving banks in the process comes with drawbacks. First, you need to fully trust a bank you’re dealing with. Second, you can’t be sure that the bank won’t be using your cryptocoins for its own needs. Investing their clients’ funds is an ugly practice which is a common reason why banks collapse. In case of a crisis, the bank is simply unable to fulfill its obligations and repay money to its clients.
Lightning network: A more advanced solution
If you’re unwilling to trust a bank with your money, you can benefit from for a double security. It’s when two users (one of which is not necessarily a bank) use blockchain contract to lock equal amounts of money, so that the difference in their balances shows their mutual financial obligations. Most importantly, this will allow to build a network of users, where locked amounts will act as a guarantee that the transaction will be executed.
When one user (sender) makes a transfer to another user (recipient), the mutual obligations of all networks participants between the sender and the recipient will be simultaneously adjusted by the transfer amount. Those adjustments won’t be reflected in blockchain. However, if the total amount of transfers in one direction exceeds the total amount of locked funds, a clearing will be needed to set off balances by using loops in LN or sending the required amount via blockchain.
As you can see, LN allows to process an unlimited number of transactions only if the average total balance adjustment is zero. This situation is only possible if a network transforms into one central node, where all clients are blockchain users that don’t need to store their funds in blockchain.
This is a reliable, effective, and centralized approach whereby any user can be refused a crypto transfer for any reason, e.g. the system can cancel transfers from people who failed to fulfill financial monitoring requirements; or if your country is exposed to sanctions imposed by the EU, USA, China, or another major economic player; or if your locked amounts have been frozen by court order; or if a bank decides to shift the risks of capital loss to you; or if you paid for goods or services that are banned in your country and have been confiscated by the state.
This won’t be a serious issue if LN isn’t the only available way to use blockchain. However, if the transaction volume in blockchain keeps at 1-2 Mb, it’s a different story.
Will lighting network be enough?
When talking about LN, instead of the total amount of transactions, we need to focus on the number of blockchain and clearing transactions made by one user over a specific period of time. If there are no intermediary nodes between users, users can make an unlimited number of transfers without commission fees.
First, each new user will have to make at least one deposit to their account via blockchain. LN users can’t have a zero balance.
Second, to connect to LN, there must be an opening transaction to lock certain amounts on the entry node and user’s account.
Third, there may be a closing transaction when a user leaves LN (for example, to connect to another node). This is needed to optimize commission fees.
Clearing accounts for the biggest amount of transactions. Each large transfer within the network boosts the chance of such a transaction taking place in each intermediary node. At the same time, if the network is arranged ineffectively (i.e. there are no cycles), a transaction may require each node to make a clearing transaction. The more money is locked, the less will be the need for clearing. Large nodes will be able to optimize their expenses to minimize or completely give up clearing via blockchain. That won’t be available to common users, though. In the best case scenario, active users will only lock a small percentage of the average deposit (e.g., when salary is paid out once a month). This means that common users will need to make clearing transactions between payouts. This way, an average user will make 1 blockchain transaction a month.
Clearing procedures require a big number of transactions. Let’s find out how many active users will be able to use blockchain.
Without segwit, blockchain with 1Mb limit can process 262,000 transactions per day and 7,883 transactions per month. Using segwit will increase the number of transactions by 2.5 times. If we multiply 7,883 by 2.5, we end up with almost 19 mln transactions
A 1Mb Legacy Bitcoin block will be able to serve19 mln active users.
If we increase the blocksize to 2 Mb or even 8 Mb, this won’t lead to a drastic change in the number of users. Whether it’s 19 or 190 million users, the number is still too few. Cryptocurrencies need billions of active users.
At the same time, a typical bitcoin user doesn’t necessarily get a monthly salary or makes regular payments. This means that talking about 1 clearing transaction per month is not quite right. To determine the actual number of transactions per user, an in-depth blockchain analysis is needed. This goes beyond the scope of this article.
Unless we find a technical and organizational solution for increasing the block size limit, the rising fee on blockchain transfers will make users switch from local wallets, where they can keep their money under control, to online wallets and banks.