2019: A Light(ning) year of progress
By: Roy Sheinfeld
Tags: Technology, Lightning Network, Bitcoin, 2019, UX

Another year is almost over. For those of us working on Lightning, the pace of change has been so fast that it’s gone by in the blink of an eye, just like a … yes, a lightning bolt.

Lightning moves fast — even in slo mo. (Source: reddit)

So much has happened in the last twelve months. So many new innovations have gone live. The network has come so far. With so much creativity and adaptation, it’s easy to forget that Lightning is not yet mature. Also like a lightning bolt, the technology has not been around for very long; there remains so much for us to do, to learn, and to discover.

So let’s take a minute to reflect on all that we’ve accomplished in the last year. It might give us an idea what’s yet to come, and at the very least it can remind us of what we can achieve in just a year if we try.

Drum roll, please. The innovations that rocked Lightning in 2019 are…

Lightning goes mobile

Fortunately, a Neutrino-based client is much lighter and more mobile than a neutrino detector. (Source: Wikipedia)

In physics, neutrinos are particles without charge, and they’re so lightweight that they’re very hard to detect despite being practically everywhere all the time. In the language of Lightning, Neutrino frees users from having to run full nodes or trusting Electrum servers, combining the speed of Lightning with all the power and security of the full blockchain. Best of all: it remains light enough to operate on a mobile device, letting users spend bitcoin wherever they are.

We believe that Neutrino is currently the best way to bring Lightning to mobile devices, which is why Breez was the first to implement a Neutrino-based client for both Android and iOS. Neutrino is constantly being optimized, and other Lightning clients are adopting it, like the wallets from Zap and Nayuta. I’ll also take the opportunity to thank everyone at Lightning Labs for the amazing work they have done in bringing Neutrino to the mainnet.

Simplified channel management

There is more to joining the Lightning Network than just downloading a Lightning client. New users aren’t connected to the rest of the network until they open a payment channel. But counterparties aren’t all equal. Some have more connections than others. Some manage their channels’ liquidity better than others.

How are incoming users supposed to wisely select a counterparty for their first payment channels when there are thousands of nodes to choose from? In the past year, they have gained two options:

Otto Pilot says … Well, nothing. He’s an algorithm. But by golly he gets the job done! (Source: PDV)

The first is autopilot. Autopilot is a function built into the Lightning Network Daemon (lnd) that helps new users choose a node. It uses a range of heuristics to assess the nodes available. This helps new users to choose a counterparty, but they’re still going to have to send some funds outward before they’ll be able to receive any.

The second option is to use an LSP. LSPs are the plug-and-play solution for connecting to the network. Helping Lightning users get and stay connected is LSPs’ whole business, so they have a vested interest in being reliable counterparties. Some also provide additional services, like providing users with immediate inbound liquidity, maintaining connections with other LSPs to provide robust routing options, and rebalancing with other LSPs to ensure payments move freely among them.

Autopilot is a helpful aid to getting started on Lightning. A good LSP does that and more, from support with the initial set up all the way to giving users fine-grained customization options. As we come closer to mass adoption and a full Lightning economy, LSPs will become increasingly indispensable for individual users and the cryptomonetary system as a whole.

On-chain ↔︎ off-chain transfers with Submarine Swaps

Submarine Swaps allow Lightning users to transfer funds between a payment channel and their on-chain wallets without having to close and re-open the channel. In effect, Submarine Swaps makes it much easier from the user’s perspective to interop between the blockchain and Lightning payment channels.

Always mind the gap. Or just use Submarine Swaps. (Source: Jordan Hatcher)

2019 has been a big year for Submarine Swaps in that they’ve been integrated directly into several mobile Lightning clients. They can facilitate many operations, ranging from depleting a local balance for the sake of inbound capacity to topping up a payment channel in order to make more purchases. Lightning Labs has even released Lightning Loop: a service to perform Submarine Swaps that’s ready right out of the box.

Two different clients illustrate their versatility. First, Muun is an on-chain bitcoin wallet that uses Submarine Swaps to let their users make ad-hoc payments over Lightning despite displaying only an on-chain balance. From the other direction, Breez is strictly an off-chain Lightning client that employs Submarine Swaps to let users top up their Lightning payment channels from an on-chain wallet. Two approaches, two applications, a single balance on each.

Watchtowers

The Lightning protocol has a built-in mechanism to punish cheaters, should someone try to cheat their counterparty by publishing an out-of-date channel state. But what if the cheated party is offline for whatever reason and their client can’t monitor their channel activity?

That’s where watchtowers — a feature supported in lnd since version 0.7 — come in. A watchtower is basically just a third-party node to which a user delegates the responsibility of monitoring her channel activity for dastardly deeds.

Thanks to the introduction of watchtowers this year, individual users’ channels and the network as a whole have become safer. And since watchtowers only receive transaction info in case of an actual attempt to cheat, that added security comes at a low cost in privacy.