This article is meant to be a beginners introduction to the Lightning network. Below I also posted links to more detailed and precise explanations as well as resources on getting started using Lightning.
Lightning Network Basics
Lightning network is a technology built upon the Bitcoin Network. It is a protocol (agreed-upon set of rules) for transferring Bitcoin between users.
As a technology, it radically expands the capabilities of what is known as the 'base layer' (the Bitcoin network that Lightning network is built upon).
It does this by something called a payment channel. A payment channel allows two users to make a very large amount of Bitcoin transactions between each other, and conglomerate it into a single transaction. That transaction is then periodically backed up to the 'base layer'.
This is done in a secure and decentralized way, with each user continually signing an updated version of the payment channel/transaction. This means that users do not have to trust each other as any of them can back up the payment channel in its current status at any time.
The Lightning Network is a network of these payment channels. The payment channels connect 'Lightning Nodes'. Nodes belong to different users. If you want to participate in the Lightning Network you will need to run a Lightning node. The network allows payments to be made using Lightning even when users do not have a direct payment channel connection.
A payment can cross multiple payment channels and nodes to get to its destination. A transit node adjust its payment balance with the adjucent sending and receiving node. That way it does not loose funds when transmitting a payment. It can even collect a small fee.
Part of the Lightning Network protocol is to figure out the best path for a payment to pass between two users/nodes.
What Makes Lightning Network So Great?
- Larger Bitcoin transaction capacity. Currently, the base layer can process about 2-7 transactions per second. With Lightning, this increases by orders of magnitude.
- Many small payments from many different users are consolidated into a single base layer transaction. This means increased privacy.
- Instant secure payments. On the base chain, it can take from a few minutes to hours for a transaction to be confirmed.
In short, it allows Bitcoin, hard decentralized money with limited supply, to also become a massive global payment network.
Limitations Of Lightning Network
The transactions on the Lightning Network are not as secure as transactions on the base layer (until the transactions get backed up to the base layer as they do periodically).
For this reason, larger payments should not use Lightning Network. Currently, it’s not recommended to send more than ~$100 on the lightning network. This will increase in the future.
The Lightning network is also more centralized than the base layer Bitcoin network.
Finally, the Lightning Network is a layer of additional complexity on top of the Bitcoin base layer. This means as of now many services and wallets do not support it. The services that do support it are not easy to use.
The Lightning Network exists in its infancy and there are many issues such as bad payment routing and funds getting stuck.
I Want To Get My Hands Dirty & Use Lightning
Be warned that it might take a beginner one to set up a lightning wallet. Its not easy to use yet.
If you want to learn about the Lightning network its best to first learn on Testnet. Testnet is a test version of Bitcoin, it is almost identical to the real Bitcoin network (Mainnet) except that the testnet coins do not have value. There are many faucets where you can get free testnet coins.
There are two main implementations of Lightning Network nodes. Lnd and c-lightning . Both are command line only. These nodes allow you to participate in the Lightning Network i.e. open and close channels, send receive payments.
To set up a payment channel you will need some Bitcoins or Testnet coins (for the respective network).
You can see a step-by-step guide on setting up a c-lightning node in reg-test mode here. The video is made by Rusty Russell, one of the developers of c-lightning.
There are also GUI Lightning wallets. These GUI wallets are easier to use. They do need to connect to a proper Lightning node to function. Some come with a node, but for some you will still need to set up a Lightning node and connect it to the GUI wallet.
Eclair is a popular Android Wallet.
Zap is popular for IOS (you will have to connect it to a set up node however).
Popular desktop wallets are:
You can find a detailed list of Lightning wallets here.
More Resources For Understanding Lightning Network
Here I provided a basic explanation of Lightning Network. If you want to dive deeper some resources I recommend are:
- Good in-depth but understandable explanation of Lightning Network,
- Lightning Network whitepaper,
- Mastering Lightning Network. Good in depth but clear book by Andreas Antonopolous and Lightning devs,
- Jamesons Lopp comprehensive list of Lightning Network resources,
- Lightning Network visualisation,
- Lightning Network Explorer.