2019: A Light(ning) year of progress

4

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.

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

There is a gap between the Bitcoin mainnet and the Lightning Network. Funds can’t be on both at once. And changing the amount of bitcoin on a payment channel usually means closing the channel and re-opening it with the new balance, which is as slow and costly as any other mainnet transaction.

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 close the gap between the mainnet and the Lightning layer, at least from the user’s perspective.

 
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.

 
Watchtowers are functional and beautiful. (Source: Amjad Sheikh)

Fiat ↔︎ Lightning interoperability

Fiat is like Wile E. Coyote after he’s gone past the edge of the cliff but continues running obliviously: no matter the effort, the fall is inevitable. However, there are about $90 trillion of fiat floating around in pockets and bank accounts, so transitioning an entire global economy to bitcoin is going to take a few years. Incoming users need convenient, safe ways to convert their fiat to bitcoin before they’ll be able to use Lightning.

A year ago, incoming Lightning users had to take their fiat to an exchange, go through the KYC hassles, deposit the bitcoin into an on-chain wallet, and then transfer the BTC from the on-chain wallet to an off-chain Lightning wallet. This onboarding process is about as much fun as taking Cthulhu to obedience training.

The process of converting fiat directly into bitcoin on Lightning has improved considerably over the past year. Using a service like Olympus/ZapSparkswap, or Escher, users can buy BTC with fiat and have it deposited directly into their Lightning channels. This onboarding process is more like a first-class flight, where a highly motivated person with a gleaming smile hands you a cocktail for no reason.

Kickstarting adoption with user rewards

 
Some take the idea of “branding” a little too literally. (Source: Piximus)

Bitcoin isn’t just the best cryptocurrency yet invented, it’s also a brand. And people don’t just purchase branded goods, they identify with them, integrate them into their own self-images. That’s what makes it so hard to inspire people to change brands, fiat-to-bitcoin included. You have to offer them something worth changing how they see themselves.

People need incentives to change brands, and cash is an incentive everyone understands. Taking a page out of credit cards’ playbook, a few apps have started rewarding their users with bitcoin for performing certain activities. For example, Fold sells gift cards in return for bitcoin, and when users redeem those gift cards to make purchases, they get a percentage of the price back in bitcoin. Casa’s Sats App is a little different in that it focuses on the network rather than purchases. Specifically, Casa offers rewards to Sats App users for doing things like connecting their app to their own node and proving that their node is active.

Such rewards programs are a great way to accelerate onboarding. And Casa’s model strengthens the network infrastructure in the process. ’Tis indeed the season of giving!

Lapps!

As ubiquitous as apps have become in life, it was only a matter of time before they penetrated the Lightning Network as — what else? — lapps. But for all the corniness of the name, lapps are already common and useful.

At base, a lapp is an application built on top of the Lightning protocol and tailored to a specific use case. For example, Paywall.Link helps content creators create a direct-to-Lightning paywall to profit from their creativity, and Sats 4 Likes allows users to buy likes, profile subscriptions, and other social-media cred in return for satoshis on Lightning.

We’ve mused about the possibility that Lightning is waiting for a killer use case to catalyze mass adoption. Perhaps that killer use case will emerge from a lapp unrelated to Lightning’s original purpose as a way to liquify bitcoin. Lightning might first achieve mass adoption as, say, a private messaging technology, a video game platform, or what sounds like reddit monetized with bitcoin. Its spread as a payment network might then piggyback on one of these lapp-based ancillary uses.

For more ideas, check out this “curated” list of great lapps.

A better UX with lnurl

Although Lightning has come a long way, its user experience can still be cumbersome at times. For example, receiving funds from a lapp requires the user to manually create a Lightning invoice and then copy/paste it back to the lapp in order to withdraw the funds. Other operations, like opening an incoming channel, can be even more arduous.

Until recently, that was a problem. But lnurl has come to the rescue! lnurl adds an additional layer on top of the Lightning protocol that simplifies the Lightning UX in certain situations. You can now withdraw your funds from a lapp without copy/paste, but simply by clicking on a link or scanning a QR code. Many clients (very soon Breez too) and lapps have added support for lnurl-withdraw in the past year. The same goes for opening channels. Using the lnurl-channel subprotocol, services like Bitrefill Thor or LNBig.com have made it much easier for users to employ their channel services.

To 2020. And beyond!

Stop. Take a breath. Just soak it all in. It’s a lot.

But there’s more to come.

A couple of months ago, we predicted that the next wave of LSPs would consist of exchanges. Well, Bitfinex just took the first step in that direction, announcing last week that they were supporting Lightning.

And there are so many more innovations set to drop in the next year:

  • Atomic Multipath Payments (AMPs) split payments into several chunks that can take different routes from sender to recipient. The result? All of a user’s balances across all of her channels can be marshalled (get it? AMP — Marshall?) to execute a single payment. Channel capacity becomes less relevant, and routing options multiply.

Watching Lightning grow is like watching a kid grow up. It simultaneously fills you with pride and makes you wish it would just slow down a bit so you could savor it more. But Lightning is one talented youngster with the potential to move mountains.