Whilst Bitcoins decentralized attributes and hard monetary policy are second to none, the most common critique has always been its inability to scale due to high congestion within the network.
This results from Bitcoin's simple design with small block sizes to remain decentralized, often causing slow transactions and high fees.
For this reason, I was extremely proud that Purse will be integrating Lightning to alleviate these problems.
Learning how to use this Layer 2 solution was fairly simple given my previous Bitcoin exposure. However, there are some confusing elements for a first-time user.
Here are some of the answers to questions I had along the way.
If you want specific help with using Lightning on Purse, click here.
Lightning is a Layer 2 solution to Bitcoin, allowing transactions to be made off-chain in a decentralized, peer-to-peer manner. Transactions are done through payment channels opened for multiple parties.
This means that every transaction has a unique invoice (address to send funds to).
As transactions between parties are batched, fees only occur when loading and offloading on the chain.
To put into perspective, whilst Bitcoin fees can be as low as a couple of cents, on-chain fees during bull runs can go over $100.
Irrespective of bull or bear, the price of Lightning transactions remains free or a couple of cents.
The more significant fee associated with Lightning is the “channel open fee” that is based on the nodes you route through. Thus, it is only worth transferring over to Lightning if you plan to use a decent amount of funds.
Comparable solutions on other protocols include Polygon or optimism for Ethereum, where a new solution is made on the backbone of an existing one. This allows for the users to access the same functionalities whilst taking stress off layer 1, making it more cost and time efficient.
This was the initial confusing element. Yes, there is a difference. And no, you cannot immediately send BTC to a Lightning address unless your wallet/exchange supports Lightning natively, such as Kraken. If your wallet or exchange doesn't support Lightning, you need to move funds to one that does to use the layer 2 solution.
Here are some examples of wallets that support Lightning:
Only after this can you make a Lightning transaction.
Here is an example of a BTC address: (Segwit)
Here is an example of a Lightning Invoice:
As you can see, the Lightning invoice is much longer than the bitcoin address and thus pretty distinguishable.
Let's break down what a Lightning invoice actually is.
An invoice is very different from an address. For example, a Bitcoin address is a home to all your Bitcoin receivables.
If anyone needed to send you BTC, you could provide each individual with the same address. However, your Lightning wallet does not have one distinct address where you can receive BTC from different people.
Instead, the receiver of BTC has to create an invoice stating the amount of BTC to be received. The sender then has to scan or paste in that invoice and put in the required amount.
You often do not even need to put the amount you are sending, as some apps do it automatically upon scanning or pasting the invoice.
Lightning Invoice (Blue wallet)
Key features of the invoice:
- The cryptocurrency network this invoice is valid for — in this example, “lnbc” indicates the bitcoin network.
- The amount is encoded in the invoice. — in this example, 1u is the amount. This means 1 microBitcoin or 0.000001 bitcoin.
Setting up a Lightning wallet is quick and easy. Here is an example using blue wallet.
- Download wallet app
- Create a BTC wallet
- Write down back up phrase
- Create a lightning wallet
- Write down backup key
Since your BTC and Lightning wallet are separate, you have a different backup phrase for each.
This will allow you to restore your funds if you lose your device.
Your Lightning wallet has two wallets within.
A Bitcoin wallet and a Lightning wallet.
Now, since your wallet (eg Blue wallet) supports Lightning natively, you can move BTC to your lightning wallet within the app via “refill”. If you do not know how to do this, please click this link.
Once this is done, you can check if you have received the Bitcoin in your Lightning wallet.
TADA! You finally have some Bitcoin locked and loaded for Lightning transactions.
Now, to complete a Lightning payment:
1. Select your Lightning wallet
3. Click the QR scanner icon and scan the Lightning invoice or paste the code provided.
By completing this payment, you have technically opened up a payment channel between you and the receiving party!
As a Lightning payment occurs off-chain and is private between sender and receiver, you cannot track its progress via a block explorer.
However, you can check the transaction via a pop-up in your wallet.
EG: Blue wallet
- Click on your Lightning wallet, it shows recent transactions
- Click on the latest one
- Shows a check mark that the transaction has completed denominated in sats
There are two ways you can go about this:
- Send your Bitcoin to an exchange that accepts Lightning natively.
- Send your off-chain BTC back on chain via an external party or a function within your app.
External solutions include Zigzag and Fixedfloat.
These great applications allow for auto swaps between LN and on-chain BTC, making the process very smooth.
I hope this answers some headscratchers for those who haven't used Lightning before and can now use the L2 solution confidently!
Despite the Lightning network still being in its infancy, it is worth using if you wish to save on time and fees.
If you would like an in-depth tutorial on how to get set up and start spending your sats, please click here