The Lightning Network is a payment network built on bitcoin. More specifically, it is a protocol, or set of rules, that can be used to send and receive bitcoins almost instantly and with extremely low fees. The Lightning Network involves some trade-offs compared to bitcoin, such as security and ease of use. However, for small daily payments, the Lightning Network provides an excellent user experience. This article will teach you why you need Lightning Network, how it works, and how you can start using it in less than 5 minutes.
Why do we need the Lightning network?
There are inherent limitations in a decentralized system like bitcoin. One of these limitations is scalability. Every bitcoin transaction must be received and validated by every node (computer) on the network to make sure that all transactions follow bitcoin’s rules. This is because bitcoin imposes a limit of about 5 transactions per second. This is part of what makes bitcoin decentralized – the fact that anyone can use a regular computer to enforce bitcoin’s rules and ensure that everyone else is playing by those rules as well.
When we compare bitcoin’s transaction
limits with Visa’s, we see that bitcoin has a long way to go before being able to handle these kinds of transaction volumes. Visa processes over 10,000 transactions per second, thousands of times more than bitcoin is capable of. Bitcoin will have to increase significantly to be able to process Visa’s transaction scale.
Larger blocks and off-chain scalability
There are two scaling solutions that are often mentioned regarding bitcoin: larger blocks and off-chain solutions. The “big block” argument states that to increase transaction limits, we should allow blocks in the blockchain to contain more data, thus allowing more transactions to be stored in each block. The problem with large blocks is that we would need 32GB blocks to reach Visa’s transaction scale. This would mean that every 10 minutes, 32 GB of data would be transmitted to each bitcoin node which would have to validate all 32 GB transactions. For anyone who wants to store the blockchain, it would require 400 TB of storage space per year. Instead of running their own “complete nodes,” bitcoin users would be forced to trust others to validate their transactions. This defeats the entire purpose of bitcoin, which is to send and receive payments without needing to trust anyone else.
Off-chain solutions, on the other hand, circumvent bitcoin’s transaction limit by conducting payments without recording every single payment on the blockchain. Individual payments are tracked separately (off-chain) and later only the final balance is recorded on the blockchain. For example, you could make five payments of $10 to a store each month by recording only a single $50 bitcoin transaction at the beginning of the month.
A popular type of off-chain scaling solution is called a payment channel. In a payment channel, two nodes exchange payments back and forth within the “channel” with each other. These nodes record their balance in an on-chain bitcoin transaction only after deciding to stop using the channel.
You can think of payment channels like credit card cards in a coffee shop: “open the channel” by giving the bartender your credit card, “update the channel balance” when you buy another drink, and “close the channel” once the bill is settled.
The Lightning Network
The Lightning Network is a large network of payment channels. These payment channels do not rely on trust to work, as every user always has access to their funds.
Lightning Network payments can be “routed” through the network. Imagine that Alice has two channels open, one with Bob and one with Carol. Even though there is no channel between Bob and Carol, Bob can still pay Carol by routing the payment through Alice’s node. This works because Alice has channels with both Bob and Carol.
Payment routing also provides a level of privacy for Lightning Network users. A payment might be routed through many nodes, but each node along the way doesn’t know where the payment originated or where its final destination is.
Lightning Network Channel Scales
Typically, payment channels are initiated by only one of the people involved, such as Alice opening a channel with Bob. In this case, only Alice controls the funds in the initial state of the channel. Alice can choose to send part of her channel balance to Bob as payment. Once he receives this payment, Bob checks some funds in the channel and can now send payments to Alice.
Funds within the channel you control are referred to as “outbound” or “local” capacity, as they are on “your side” of the channel. Funds on the other side of the channel are called “inbound” or “remote” capacity, since this is the amount you can receive as incoming payments. The highest payment you can send is controlled by your outgoing capacity, and the highest payment you can receive is controlled by your inbound capacity.
How do Lightning Network payments work?
The Lightning Network uses an invoice-based payment system. If you want to send a Lightning Network payment, you must first receive an invoice from who you’re paying. Payment invoices sometimes have a defined amount, so you’ll have to pay the exact amount. Other times, invoices will be left blank and you can choose the amount to send. If you’d like to receive a Lightning Network payment, you’ll need to create an invoice to request payment and provide the invoice to the person paying you.
Payment invoices are a long string of characters that contains all the information needed to complete the payment. Sometimes payment invoices are displayed as QR codes and other times they are displayed as a long string of characters like:
Before recommending a wallet, it is important to note that the Lightning Network is still at the beginning of its development. Make sure you only use it for small amounts that you feel comfortable potentially losing. This is especially true while you’re learning how to use the Lightning Network.
Our recommended Lightning Network wallet for beginners is ACINQ’s Phoenix wallet. ACINQ is a company that has contributed to the development of the Lightning Network protocol since its inception. They designed Phoenix to be extremely easy for users of all levels. It is currently only available on Android, but ACINQ plans to release an iOS version by the end of 2020.
Phoenix’s ease of use comes with a couple of compromises. One of these trade-offs is the fact that Phoenix will only connect with Lightning Network nodes that belong to ACINQ. This means that ACINQ nodes must remain online in order to send and receive payments. Even so, ACINQ never checks your funds, and even if their nodes were offline permanently, you could still recover the funds from your phone. Another trade-off is the fact that ACINQ will have knowledge of all your payment activities through Phoenix because everything goes through their nodes.
Using Phoenix is a great way to get started with the Lightning Network, as it eliminates the need to manage channels or worry about connecting to the remote Lightning Network node. Just install the app on your mobile device, record a backup of your 24-word seed phrase and you can start using Lightning Network right away!