What Is The Lightning Network?
In December 2017, the Bitcoin blockchain network was overload with transactions and Bitcoin did not have much practical use as a currency because transactions took hours to process and transactions required high fees. Some ideas have been discussed to address Bitcoin’s scalability issue such as changing block time intervals or changing the size of the blocks, but those seem to be band-aids to the problem and not true solutions. The lightning network is a solution that was introduced in 2015 that has reemerged lately because on March 15th, 2018, Lightning Labs released a beta version of the lightning network, which has the option to run on Bitcoin’s blockchain.
What is the lightning network?
The lightning network creates a bidirectional payment channel for peer to peer transactions. In layman’s terms, two people can create an agreement to exchange a certain amount of Bitcoin. They can send that amount of Bitcoin to a public contract on the Bitcoin blockchain, and then they can send and receive the Bitcoin in that agreement back and forth without having to update the blockchain after each transaction. To make a transaction within that agreement, both parties will have to approve or sign off on each of the transactions. Ultimately, when one of the parties wants to close the agreement, the channel closes and pays out each party’s respective Bitcoin balances. This means that the only transactions that need to be logged on the blockchain are the initial and closing transactions. See the diagram below that shows how not all transactions between Alice and Bob need to be logged on the blockchain.
That example is limited because those transactions are only between Alice and Bob, but if we introduce a third party, Charlie, that is connected to Bob and not Alice, Alice could transact with Charlie through Bob.
The idea is that somebody can connect with a party that they do not have a contract with, as long as somebody else in their network is contracted with that party. In the diagram below, Alice (A) can connect with Frank (F) because Alice has a contract with Charlie (C), who has a contract with Frank.
One drawback of the lightning network is that each party involved in a transaction needs to be online to verify the off-chain transaction. For example, ordinarily, if you want to send somebody money, all you have to do is send the money. Typically, the recipient does not have to do anything to accept the payment. With the lightning network, the recipient must verify the transaction to update the balance in their agreement to receive the payment. That is inconvenient but could be solved if there was a third party willing to always be online and act on the behalf of a recipient to approve the transaction.
The lightning network is a relatively new concept and in practice, seems like it would work effectively if large hubs were created that could connect every user together as well as update the balances of their users’ agreements. If every user was indirectly connected to each other, they could transfer Bitcoins in an of off chain tab that is ultimately protected by their agreement with the main hub. Some people critique this because in that example, hubs act similar to banks and lead to a source of centralization.