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.
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
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:
- 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
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.
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.
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.
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/Zap, Sparkswap, 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
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!
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.
- Speaking of channel capacity, Wumbo channels would remove the current 0.167 BTC channel limit entirely. If both parties at either end of a payment channel consent, they can wumbo the capacity of their channel as high as they want.
- Trampoline routing is set to simplify routing by obviating network graphs for mobile clients. Instead of calculating the route from scratch, clients would only need a connection to one reliable trampoline node, which would then forward the payment from trampoline to trampoline until it reaches its intended recipient.
- Asynchronous payments via Lightning Rod, which is a fancy way of saying that Breez has invented a way for people to send and receive payments at their leisure, even when one of them is offline.
- Lightning will add messaging functionality. The integration of secure, private messaging with a robust payment platform is a great solution for many real-world use cases.
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.