The story of Lightning Network “Turbo” channels

Published by Martin Habovštiak on

You might have heard about this little bit obscure feature called “Turbo channels”. Maybe you’ve read the blog post about how they work. Maybe it was the Coindesk article or recent blogpost by Bitrefill. All those are really great sources, but maybe you still want some context. Who’s this “Martin” guy they talk about anyway?

In this article, I will attempt to not dive too much into technical details. I will try to tell the story. The story of how they’ve been invented.

The story begins with Paralelni Polis Prague, the originator of modern Parallel Polis concept. It was the zeroth space in the world where they started accepting Bitcoin only as a part of their mission to build a parallel society and spread the ideas of decentralization and freedom. They accepted Bitcoin only until the fees in Bitcoin started exceeding what one would expect for a coffee transaction. Then they decided to also accept Litecoin, which solved their problems. (And created a new problem: Bitcoin maximalists are annoyed. :P)

Since Paralelni Polis Prague worked for some time, there was an interest from the Slovak community of like-minded people to create another instance of it in Slovakia. Because of previous experience, we started accepting LTC (and other coins) from the beginning. Then I watched the presentation from Juraj Bednar at the Baltic Honeybadger and realized the problem is somewhat bigger and “Lightning Network” doesn’t look like solution.

To explain this for people who’ve never been to Paralelna Polis, we have an ATM and a coffee bar there. People use the ATM to buy cryptocurrencies which they can immediately spend to buy coffee or some biohacking drinks/foods. The point is to get them to try it out. Importantly, we don’t accept fiat money and the ATM is operated by a separate company.

Although not a maximalist myself (I consider maximalists to be probably right but I’m not that sure and I’m willing to accept that some shitcoins may be fine for people with high time preference.) I was annoyed that we are promoting something that may not have a future. I was thinking what to do about it but didn’t come up with any idea.

Fast forward later, I started to see other problems with not having a solution to this problem. “Why not Bitcoin?” is a frequent question of newbies whom we recommend to try it out with Litecoin and smaller amount. Yeah, people don’t have to wait an hour, but those 1-5 minutes is also too long for some people.

One evening, I was talking with Juraj again and he suggested we should solve this problem. After some unsuccessful brainstorming about giving people keys to pre-opened channels, he left outside. It was still bothering me, so I stayed in Paralelna Polis thinking about it. And there I came up with the idea that in the case of buying a channel from the ATM, there’s no reason to wait for confirmation as the threat model doesn’t change from the current one. Well, actually it’s a little bit safer.

I went outside to tell Juraj about it and he agreed that the idea makes sense. I also explained to him that we would need to reverse the flow – customer scans the QR code. Basically a subset of LNURL. I had no idea whether the node implementations accept zeroconf channels (I correctly guessed they don’t). Anyway, the moment we knew the solution is possible, we proceeded to solve other problems. Yes, we both like math.

Actually I started to write a blog post that refers to this event as “few days ago”.

ls -l

-rw-r–r– 1 user user 4910 Oct 15

Oh, it was a long time ago. Yes, I was overwhelmed with tons of other things. From making a living through spending my time with my wife to helping in Paralelna Polis. So sorry about the delay, I can’t do everything at the same time. :'(

I gained an interest in the idea again when LNURL specification got published. I remember mentioning it on Twitter and opening issues at several repositories. Anton Kumaigorodski from Bitcoin Lightning Wallet thought it’s a good idea, so he took the time to implement it. I planned to test it and started syncing a new testnet node, but then got overwhelmed again.

Right before the opening talk at LibertyCon Belgrade, I checked my phone and found out I’m mentioned in a tweet linked to a Coindesk article about Bitrefill announcing Turbo channels as a commercial product. “What the hell?! That’s awesome!” Focusing on the talk was quite hard then. 🙂

“So do you use Turbo channels in Paralelna Polis now?” Unfortunately, not yet. There are a few more things we need. Firstly, there needs to be an iOS wallet for this as well. Then it needs to be integrated into the ATM and Paralelna Polis neither manufactures nor runs the ATM. And lastly, our other members need to learn to use it and explain it to newbies.

I was considering trying out the service by Bitrefill but got stopped by the fact that my friend had too old Android to install Bitcoin Lightning Wallet. Because of high minimum capacity of the channel imposed by Bitrefill, I also didn’t try it with other people yet (they weren’t willing to trade that much) and I prefer to try it with someone who can realistically make use of the high reverse capacity. I was interested in providing this service myself, but since my node is lnd, it’s not trivial.

As you can see, there’s still lot of things that need to be done. Wanna help? Attend our Bitcoin hackathon and meet great people in the process!

Categories: Uncategorized