A Personal Account of Bitcoin’s Lightning Network

I’ve been riding the Bitcoin rollercoaster since the spring of 2013. In that time, I’ve learned two essential things:

  1. Bitcoin has the potential to change the world
  2. This is going to take longer than we expected

I’m not going to go into #1 too much as I think most people reading this will already be onboard with that. For #2, I can say that many people in 2013/14 thought the revolution was imminent. I got interviewed at the end of 2013 in a survey where Bitcoin influencers thought that the price would be at the end of the next year, and my, totally wrong, prediction of 50,000 dollars was kind of in the middle of the pack.

There are a whole slew of reasons that Bitcoin is taking so long to take it’s place as world currency or even world store of value. These include that fact that it is pseudonymous and not anonymous – meaning that transactions can be tracked and often tied to specific people, the fact that it could then handle only a throughput of about 3 to 7 transactions a second and that isn’t tremendously better now, and the fact that it’s going to take making it a whole lot easier to get, keep, secure, and use before most people are even going to give it anything more than a ‘isn’t that the internet money people use to buy drugs in the dark web’ look.

Another thing that happened way back in 2014 is that Joseph Poon and Thaddeus Dryja proposed the Lightning – a network that can move Bitcoins around near-instantaneously, near-free, at near-any level of transaction volume. Sounds great to me.

For those who need the basics, in short, Bitcoin is an electronic ledger of transactions. Each ‘page’ of the ledger is written from pool of pending transactions every ten minutes by a Bitcoin miner, which confirms the transactions. Each page of the ledger is linked to the before it cryptographically and shared out to the decentralized network, so once transactions are confirmed on a page, they cannot be changed without the rest of the network noticing and objecting. The more pages lain on top of a page, the more this is true. Note, that the correct term for ‘page’ is block and the miners mine blocks and write transactions to them to get the block reward, currently 12.5 bitcoins, and fees offered to entice the miners to write the transactions first to the limited space on individual blocks.

The Lightning Network sits on top of the Bitcoin blockchain by creating a transaction between two participants which doesn’t close until one participant or the other requests it to. Rather the bitcoins that fund the transaction pool on one participant’s side of the transaction or the other. The two people can push bitcoins in any amount (up to the maximum used to fund the channel) between each other freely, and when the channel closes, both keep what is on their side at that time.

What makes it a network is that each person can have channels with a bunch of other people. This means, if I have a friend who wants to pay another one of my friends, but they don’t know each other, then my first friend can pay me by pushing funds across to me in our channel, then I turn around and push the same amount from myself to my other friend in that channel. This would be a two ‘hop’ transaction, and a transaction can route through many hops – automatically – without me actually having to do anything.

It took until 2018 before the first public iteration of Lightning was produced. I waited eagerly for some version of it that I could spin up myself, but all the versions out that spring exceeded my meager technical skills. Finally, Stadicus created a tutorial for how to create a Lightning node on a Raspberry Pi quickly followed by Rootzoll creating the Raspiblitz package making it’s installation relatively simple.

It took me until that October before I was able to assemble all the parts and finish downloading and indexing the blockchain in order to get my own Lightning node up and running. I figure I was about the 1500th node on the network, and it’s been live with intermittent downtime for upgrades ever since.

If you’d like, my node is named bitcoinwarrior.net. Add me as a peer or open a channel if you like.

02d[email protected]rlrijoqlucnjivkctvbox4xjuoecrgrntopy5swmfdofw525eavm5iad.onion:9735

I will open channels back to the first 5 people who open channels with me with over 500,000 sats of capacity.

What I’ve Learned

The first thing I’ve learned from running my node for the last year and a half is that it has not really been that useful – which is not surprising as its still actively in development. Even though I don’t count myself as technical, I’m certainly more technically capable than a lot of other people, and I doubt many of even my Bitcoin-involved friends would want to spend the time and effort to set up a node like I did. That being said, it’s getting easier and more secure all the time. The last few updates to my Raspiblitz have been pretty seamless, and there are now also a number of out-of-box options and even some custodial IOS/Android apps like BlueWallet that make using Lightning incredibly easy.

Along the same lines, since I spun this node up on a Raspberry Pi myself, I was a little reluctant to trust much of my bitcoin to it. I mean, if I messed it up somehow, they would simply be gone. But now, after a year and a half, and with improvements to how both the Bitcoin wallet and channel information is being backed up, I have begun ramping up the funding of my channels – which has also meant that I’m now seeing more transactions being routed through my node.

Which brings up another issue, which is that if you get all your bitcoins pushed to one side or the other of a channel, that means that no more bitcoins can be sent there. Recently, though, a number of options have been created to solve this. The first is rebalancing, which means that you can send yourself funds from one channel that has too many bitcoins on your side and it will come back to you in a channel with too many bitcoins on the other side. Also, there is the loop in/loop out options, which allows you to send bitcoin to an address and get them back as an on-chain bitcoin transaction, meaning that you don’t have to close the channel to get your bitcoins back. Of course, this works in reverse as well.

Another thing I’ve learned is that the public stats about how many nodes, channels, and bitcoin are on the network may be widely wrong. The stats my node reports when I query it are different than nodes I find on sites dedicated to tracking this. The one I use most frequently is 1ml.com, which is really good for seeing how different aspects of the network are growing, but which is off by a about 15% in how much BTC I have on Lightning and which shows only half my channels. I’m not really sure why this is, but it may have to do with nodes that are public and not private and also nodes which are running on the Tor Network.

Does Lightning make Bitcoin better?

I am really happy with my Lightning node, but I’ll admit that I have only made a few small purchases using it – some stickers and a set of FUD dice from Blockstack as my first purchase, a survival pen (which fell apart!), and most recently a VPN subscription. To be honest, there just isn’t a whole lot out there yet to buy – but given how fast and easy it is to send any amount, the fact that, unlike when I make a Bitcoin transaction I’m sure I can be tracked, I feel like I’m passing money from hand to hand.

More than that, I know that there are number of further developments in process, like a way to send funds from multiple channels if the amount you want to pay is more than you have in any on channel.

Lightning is a really exciting development, and it seems like it’s just getting its legs under it right now. I can’t wait to se what it looks like in a year.