I’ve been using lightning for a couple months now and I’ve read lots of incorrect or outdated information about it online. It’s been a very smooth experience for me, and I want to share what I’ve learned.
TLDR: Using lightning with a custodial wallet (strike, cash app, etc) is as easy as using venmo. Transactions happen instantly and cost pennies, often under a single cent. Using it with a non-custodial wallet is slightly more complicated but well within the ability of the average person as nearly all the complexity has been abstracted away. Lightning scales really well.
Background:
Lightning is a scaling layer for Bitcoin that enables you to make transactions off-chain with security being provided by the base chain. Transactions confirm in under a second and the fees measure in pennies.
A fundamental problem with blockchain is that space in the blockchain is limited. If you increase the block size (number of transactions per block) or add smart contracts, the size of the chain increases. This means you need more powerful hardware and network connection to run a full node, which increases centralization. Bitcoin, at every turn, has chosen to pursue decentralization, but at the expense of higher chain fees since the limited space increases the competition for the available slots. This is why you can run a Bitcoin node on a 10 year old laptop with a 500GB hard drive but you can’t run a node for other cryptos unless you have a server and a fiber connection.
Lightning was designed to enable fast off-chain transactions with much lower fees, and it does that.
How to use:
To use lightning, you need a wallet which supports it. You can use a custodial or non-custodial wallet.
Custodial wallets mean somebody else holds the keys/funds and you trust them to hold onto them. “Not your keys, not your coins” as they say. Custodial wallets are also a popular choice for buying/selling BTC since they can often connect to your bank account. Popular custodial wallets for Bitcoin lightning are Strike, Cash App, and Wallet of Satoshi. I highly suggest strike. Using a custodial wallet with lightning is as easy as using Venmo.
Non-custodial wallets mean you hold the key. If you don’t write down the seed phrase it gives you and the device with your wallet dies, you will lose your key and your funds. Popular non-custodial wallets for lightning are Phoenix (mobile) and Electrum (desktop). Zeus (mobile) is great if you want more control and the ability to receive transactions while the app is closed. Non-custodial wallets can also be slightly more complex to use. I highly suggest Phoenix, I have been using it and it is awesome. Electrum is great as well, but I haven’t used it for lightning.
Note: an on-chain tx is required to move any of your existing Bitcoin into lightning. Unless you bought your BTC and store it in a custodial wallet or exchange that supports lightning.
Myths:
“Lightning requires you to be constantly re-balancing channels”
- If you use a custodial wallet, you don’t even have to know what a channel is, your wallet provider handles all of this. For non-custodial wallets like Phoenix, this is mostly abstracted.
- For non-custodial wallets like Phoenix, most of this is abstracted away for you.
- If you receive a payment and don’t have enough liquidity, an on-chain tx will be made which incurs an on-chain fee. Some wallets like Phoenix allow you to rent liquidity for very cheap to avoid these fees.
- Most people receive their paycheck and then spend most of it, if you follow this pattern, your channels will stay “balanced”.
- Some background on channels: in lightning, you make a “channel” by locking up some BTC. If you lock up 1BTC in a channel, you can send up to 1BTC to anybody else. You can have basically an infinite number of transactions in a channel. Every time you send or receive BTC in a lightning channel, the “balance” of the channel is updated ie how much of the BTC in the channel belongs to you vs the other person you opened it with. When you send BTC, you open up “channel capacity” called “inbound liquidity” for somebody to send you BTC over lightning. If you don’t have incoming channel capacity and somebody wants to send you BTC, you will need to do an on-chain tx to create it. It works this way to ensure security.
“Funds are easy to steal on lightning and you have to monitor everything”
- Attacks in the wild are incredibly rare because every incentive is aligned against the attacker.
- If you use a custodial wallet, you don’t have to monitor anything and your funds are safe if you trust your custodian.
- If you use a non-custodial wallet, you don’t have to worry about this either. Phoenix, for example, automatically uses their watchtower service. As long as your device can connect to the internet every few days, you are fine here.
- The main attack watchtowers prevent against (and really the only attack possible in lightning) is for somebody to “force close” your channel and broadcast an “old” channel state on main chain which assigns the wrong amount of BTC to you. If you watch main chain, you can dispute this state they published, get the correct amount of BTC assigned to you, plus a penalty which is charged to the attacker.
- Lightning is great for everyday spending. If you have significant funds, on-chain txes and cold storage/multi-sig are best.
“You have to make a channel for everybody you transact with”
False. Once you have a channel with anybody you can use that channel to route payments to anybody else on lightning.
“You have to keep manual backups of your channel state or you can lose your funds!”
This is true, but this is usually automated and built into the app. With Phoenix, for example, so long as you have your seed phrase you can install Phoenix on a new phone and automatically retrieve the backups made of your chain state since Phoenix’s developers automatically keeps the backups. Other wallets offer similar “storage via lightning” backup options.
With custodial wallets, they do this automatically so you just have to remember your username/password.
“Lightning doesn’t scale”
- Lightning scales very well. Once you create a channel, you can have essentially an infinite amount of transactions in it, all of which occur off-chain. There is enough chain space to make lightning channels for billions of people.
- This provides enough capacity for significant growth in Bitcoin’s adoption
- A single on-chain tx can make a single channel. There are proposals in the works to make multiple channels with a single tx (channel factories) and other L2s like Ark and Fedimint which extend/complement lightning.
“Sure fees are low now, but as more people use it, fees will get high!”
No. The reason fees increase on main chain is because you have limited space and you must pay miners for that space. A lightning channel, once opened with a single on-chain tx, can host millions or billions of transactions. The cost to route these transactions is extremely small from a computation standpoint, there is no mining required. Space is not limited, so competition for space doesn’t drive high fees.
“Lightning is centralized”
Wrong.
- Lightning uses the security of Bitcoin’s L1 to secure transactions.
- Transactions are routed through a network of lightning routing nodes, there’s currently at least 41,000 of them, you can run one on a Raspberry Pi.
- Routing nodes can’t rug you or steal your funds. You don’t have to trust those nodes to secure your BTC, that is secured by L1.