Announcing lnd 0.12.1-beta, Onboarding Users with Sidecar Channels, and Additional Updates

Justin O'Brien
March 16, 2021

At Lightning Labs, we’re building the technology to bring bitcoin to the next billion people. Our goal is to make the easiest platform for anyone to integrate internet-native digital money using Lightning. This is part of a regular series of blog posts aimed at keeping users apprised of our latest product updates.

In this update, we’re announcing the release of lnd 0.12.1-beta with timestamped signatures, improved graph data propagation, and numerous bug fixes. We’re also releasing an early version of Sidecar channels in Pool, a new feature that allows services to onboard new users in a non-custodial manner without requiring those users to put up capital. Further, we’re introducing maximum fee rates in Loop and have added remote node support for Lightning Terminal.

Improved graph data propagation in LND

The Lightning Network Daemon (LND) is Lightning Labs’ implementation of a Lightning Network node.

We recently shipped the latest version of our Lightning implementation, lnd 0.12.1-beta. Starting with this release, we now timestamp the signature in the manifest file in addition to our previous practice of timestamping the git tag. Timestamping helps to verify the authenticity of the release even once the signing keys have expired. You can verify these timestamps using the command line or the OpenTimestamps web interface.

This release also fixes an edge-case in the Lightning specifications that could lead to the force closure of a channel in the event messages aren’t retransmitted in the correct order upon reconnection.

Another update included in this release is that from here on, lnd will only attempt to make multi-path payments (MPP) if the receiver explicitly sets the MPP flag in the NodeAnnouncement or invoice. Previously, support for payment_secrets was incorrectly assumed to also imply support for MPP.

Graph Data

Graph data, transmitted via the gossip network, allows your Lightning node to find the best routes for your outgoing payments.

The channel update cache removed in 0.12 is being reintroduced, as it caused problems with channel update propagation. Gossip propagation as a whole underwent many improvements in 0.12.1, including limiting updates by seconds rather than block height. Rate limits can be applied directionally, making it possible to penalize individual peers for bad behavior. Channel updates are limited to once per minute, with the exception of bursts of up to 10 updates.

In good news for those who requested this feature, LND can now be run entirely without graph data by setting the numgraphsyncpeers flag to 0. If your node is meant to only forward payments, this feature is for you.

We’ve also given node operators more control as to which peers to sync their graph from, for example by pinning certain peers using their public key. If you run multiple nodes and have plenty of active connections, this can come in handy.

RPC

Remote procedure calls (RPC) are one popular way to interact with LND through an external application, the other being REST.

When tracking payments using the RPC command, users can now easily retrieve the HTLC attempt_id. When making multi-path payments, it is possible to cap the maximum size of each shard in satoshi or millisatoshi.

For more details on the latest release, check out the lnd 0.12.1 release notes including bug fixes, the changelog, and a full list of contributors.

Pool is one step closer to having Sidecar channels

Pool is a non-custodial marketplace where users can buy inbound liquidity from node operators. To join Pool, you’ll need an LND node with at least one channel.

One new feature we’re working on for Pool is Sidecar channels, which allow non-custodial services to onboard users to Lightning without requiring them to have any capital. Previously, Pool only allowed Alice to lease Lightning liquidity directly from Bob, but Sidecar channels will add a trust-minimized third party role to the interaction, allowing Alice to broker a liquidity lease between Bob and a new user Carol.

In Pool, “tickets” are used to transmit all information necessary to open a Sidecar channel, and the first version of the Sidecar channel ticket was recently merged. The necessary pull requests are currently in review, and a reference light pool client for end-user wallets is being implemented.

Sidecar channels allow a service to provision a new channel for their users from a third party, which can be useful for wallet developers, exchanges, or Bitcoin ATMs to bring on new users or make payments to those with insufficient inbound capacity. Users will soon be able to buy this new channel type, expanding on the current offerings of the marketplace and increasing the potential demand for channels opened with Pool.

Maximum fee rates in Loop

Loop is our liquidity service that makes it easy to swap off-chain satoshis for an on-chain payment (Loop Out), or vice versa (Loop In). This can be useful to get inbound liquidity, or make on-chain payments from your Lightning node without closing a channel.

Two new AutoLoop improvements have been released in the latest version of Loop. The first improvement allows you to specify a set of peers so that those channels are used with Autoloop. The second enables users to set a maximum all-costs included fee rate for the amount of inbound liquidity to purchase via AutoLoop. This improves on the usability and makes fees more transparent without the need for external calculations. To decrease the cost of looping out, the default target for confirmations has been increased to 100 blocks. The time to acquire inbound liquidity remains unaffected, fees however will significantly decrease.

Lightning Terminal is now fully remote

Our unified dashboard Terminal provides a user interface for Pool and Loop.

With Terminal, you can now run Faraday, Poold and Loopd in remote mode. This comes with a couple of configuration changes that will simplify your environment. We also merged improvements to failure messages and bug fixes.

Install Lightning Terminal today to start buying and selling channels with Lightning Pool.

More improvements coming soon!

We’re continually improving on the Lightning Network and our products. We’re currently working on the next release of lnd (v0.13), finalizing the sidecar channel implementation for Pool, and several notable improvements to Loop. To stay up to date, check back for announcements and product updates on our blog, subscribe to our Github repos, and join our Slack channels.

And if you’re as passionate about bringing bitcoin to the next billion people as we are, we’re hiring!

About the authorJustin O'Brien

Justin holds an MSc in Analytical Finance from St. Andrews. Before joining Lightning Labs he worked as a product manager at Coinbase. Justin made his first foray into the industry with 21 Inc. in 2015. Prior to 21 he launched an internal course while at Google to teach software engineers the Bitcoin protocol.

Justin holds an MSc in Analytical Finance from St. Andrews. Before joining Lightning Labs he worked as a product manager at Coinbase. Justin made his first foray into the industry with 21 Inc. in 2015. Prior to 21 he launched an internal course while at Google to teach software engineers the Bitcoin protocol.