Instant Bitcoin: My First 30 Days on Lightning
This is a journal of my experience with Lightning that will be useful to anyone new to Bitcoin or Lightning. As a warning, there are a lot more ways to do things than I have shown here. There is a whole range of products and solutions for getting started, some more complicated than others. While there are certain standards and best practices for using Bitcoin and Lightning, the only way to improve is to jump where you feel comfortable and learn a lot as you go.
Before diving in, it’s good to understand the difference between Bitcoin Layer 1 and Lightning, which is why Lightning exists, its own tradeoffs, and special considerations. This article is specifically about using Lightning channels. Effective channel management can be a burrow in itself, but before we can understand its meaning, let’s establish a few key concepts.
- Read and contribute to PlebNet resources and discussions.
- Being a node operator will come with an initial investment, but will pay dividends in terms of knowledge and experience. Think long term.
- For routing, focus on peer selection, availability and liquidity management.
Note that you don’t have to be a big routing node to reap the benefits of Lightning. Merchants can accept Lightning payments for their business, and as an end user, you can make Lightning Fast Payments on your own terms, and that alone is reason enough to run a node.
I am using a Raspberry Pi with one of the well known node starter packages. One thing I didn’t know before joining PlebNet was the importance of having uninterruptible power or battery backup – and it’s a must to avoid outages.
My main Lightning tools so far have been ThunderHub and Balance of Satoshis (BOS). I was also a complete linux novice, and so if you’re at all inclined I recommend learning the basics of the linux command line as it really helps to understand what’s going on under the hood when you click. on a sophisticated user interface.
My first channel was a small channel with a capacity of 150,000 sats, as I had to access the network chart first, which helped me open a channel and watch the funds move. My first Lightning payment seemed magical to me.
I started to open larger channels and was careful to select peers I trusted – trusted in the sense that I took the time to qualify their reputation in the community. My peers have a reputation for being honest Bitcoiners as well as proficient node runners. Yes, Lightning is designed to minimize trust, so you should be able to connect with strangers. However, I want to reduce the risk of costly scenarios and downtime due to poor node management by uncontrolled peers.
A routing node requires both inbound and outbound liquidity. One way to acquire inputs is to do what is called an output loop. In the beginning, I looped the channels one by one in order to balance the liquidity. I did this at my expense so as not to disturb my distribution partner.
I learned later after reading the Voltage series on Routing Nodes at blog.voltage.cloud that a better way to start is to open as many outgoing channels as possible and loop multiple channels at the same time. The Lightning Terminal has it all for you. I did a loop of several million sats at a time, and will say it made my heart beat momentarily. Usually I try to move coins in smaller quantities, that way not all of your funds are tied up at the same time.
I also used my own Strike wallet to do loops, but since the sats arrive as dollars on the Strike app, I suffered a foreign exchange fee by having to convert back to bitcoin. In either case, the cost of looping is still remarkably low – around 20 to 30 basis points.
Note that I have chosen to loop the funds of the channel in order to create a balanced liquidity profile of the node. This service comes at a cost, so in the future I plan to do free cash exchanges and just add or remove channels as needed. Loopback is useful in the beginning to prime liquidity, but otherwise it does not need to be done for each channel. Plus, you can still buy inbound channels and skip the technical details.
I had nine or 10 channels open when I saw my first before pass and I was ecstatic. I set my fees to be low enough but sufficient to potentially recoup the channel costs if all funds were transferred at the same time (see c-otto.de for a more detailed discussion of fees). While my goal is to get a low maintenance node with organic flow, I certainly noticed that the transfers were mostly one way via a small number of routes. This is where rebalancing and adjusting fees is important.
During the first 30 days, the node had 26 forwarding events at an average of 144 ppm, which was 60% of the node’s local liquidity. The payouts were only 1,300 sats – not a lot, but hey, it’s satisfying nonetheless.
At a high level, the costs include the chain fees, routing fees, and service fees related to Lightning, not to mention the cost of the hardware. The cost of the channel fee includes not only channel openings / closings, but also deposits and withdrawals to the Lightning wallet. A lot of the routing fees paid come from performing the loops, and the routing fees can rack up the more sats you need to move. I also made two payments to a few friends on my node which resulted in a routing charge. I started a spreadsheet to help track expenses in each category. This reconciles the balances that the node displays on the screen. Records show that I paid around 29,000 sats out of my pocket after opening and looping the whole chain. Specifically, BOS tells me that I spent around 4000 sats on chain fees and over 25000 on routing fees.
It is difficult to be exact because I had to try to account for the sats eaten by the exchange costs. There was also some initial confusion around commitment fees and channel reserves which are funds you own but are not reflected in the available channel balance. It is essential that you get used to doing bitcoin bookkeeping, although the order of precision is a personal choice.
In comparison, I paid a lot more sats to get my channels up and running than I earned in routing costs. But keep in mind that the cost of building up liquidity should be a one-time cost. Not only that, but a channel’s funds can come and go endlessly, allowing a channel to carry many multiples of its capacity over the life of the channel. I would say 25,000 sats were well worth the investment in education.
My goal for the next month is to increase node capacity by 20% and achieve positive net profits. Looking ahead, here are some other areas of focus:
- Explore batch channel opening and channel financing from cold storage.
- How can using multiple Lightning Network portfolios or nodes make it easier to manage cash flow?
- Experiment with automated channel management tools.
- Improve security, reliability and availability.
For help, don’t hesitate to ask questions; the plebs and I’ll be happy to help!
This is a guest post by Tyler Parks. The opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.
The views and opinions expressed herein are the views and opinions of the author and do not necessarily reflect those of Nasdaq, Inc.