Announcing lnd v0.6-beta!

15 Apr 2019
on Announcement

Today, we’re excited to announce the latest release of
lnd,
v0.6-beta!
Many items in this release were developed in response to the community feedback
we’ve gotten since v0.5-beta and also in response to what we’ve learned as
we’ve observed the tremendous growth in the Lightning Network over the last
several months.

One of the primary additions to v0.6-beta is improved data backups. Prior to
v0.6-beta, cases of data corruption could result in a loss of funds, but the
“static channel backups” introduced in v0.6-beta provide for much improved
safety in these cases. Another major area of improvement as we move toward the
release of our Desktop and Mobile mainnet apps are a series of improvements in
usability, routing and performance that will significantly improve the
Lightning experience for end users. As usual, we’re always making improvements
in compatibility and reliability, and a significant amount of engineering
effort went into those areas for this release as well. Finally, we’ve made some
behind the scenes architectural improvements that will give lnd developers
more flexibility in how they interact with lnd in the future. A description
of some the highlights is below, and for the full details, please see the
release
notes.

Safety

The safety of user funds is always a top priority in lnd and a major new
feature in lnd v0.6-beta is the ability to backup user databases to protect
funds in cases of data corruption or device loss. With a user’s seed and this
new backup scheme, called Static Channel Backups (SCB), lnd now has a
standard way to ensure both on-chain and off-chain (in Lightning channels)
funds can be backed up and
recovered.
With “static” channel backups, the backup file only needs to be updated after
new channels are created, as opposed to every time funds are sent or received.
This is more convenient and simpler for users than “dynamic” backups that
update with every transaction, but with the downside that SCB requires that
channels be closed in data loss recovery scenarios.

Usability

To make Lightning as accessible as possible to non-technical users, we’re
working to automate the process of channel creation and management with the
development of lnd’s Autopilot system. In lnd v0.6-beta, we’ve revamped the
autopilot architecture to provide for the inclusion of more sophisticated
channel management heuristics, particularly node
scoring,
which will provide external hooks to identify routing nodes that have a history of
reliability and good connectivity.

For light client users, we’ve also made a few
Neutrinoenhancements.
Stay tuned for more Neutrino-related improvements slated for lnd v0.7-beta as
well. lnd v0.6-beta also includes a few changes to make lndmorereliable for both CLI and
appusers, and there are also
several performancememoryusage, and chain
efficiency improvements
that we hope will contribute to Lightning usability as well.

Routing

As we’ve watched the Lightning Network grow, we’ve identified a series of
routing tweaksandoptimizations that will
make routing faster and more reliable. We’ve also added a new tools to give
developers more control
over routing.

Another set of changes in lnd v0.6-beta that affect routing are a series of
improvements that make channel graph sync
moreefficient and better able
to excludeunnecessarydata. This will be even
more relevant as we move toward optimizing lnd for mobile devices and other
devices with limited bandwidth and connectivity.

Compatibility

Developer friendliness

We’ve been excited to see the activity around the creation of Lightning
applications based on lnd as well as merchant services and Lightning wallets
that use lnd. Through the experience of working with the Lightning developer
community as well as through the process of developing our own
applications and
services, we’ve received a lot of
feedback about lnd and about how we can make things better for Lightning
developers. lnd v0.6-beta includes a number of
changestotheRPC
interfacethataredesignedtomakelndeasierfordeveloperstoworkwith.

Behind the scenes, we’re always working on improvements that will make lnd
more extensible and more flexible for developers. In lnd v0.6-beta, we’ve
introduced the concept of “Sub-Servers”, which will allow lnd’s gRPC API to
evolve in a more flexible way and expose lower level functionality sush as
transactions signing to developers. Sub-Servers are still in development and
aren’t yet the default, but this will change as we develop the various
Sub-Server APIs over time. Another behind the scenes change that’s in the works
is a move to making lnd more modular and making some packages more easily
available for use by
external projects.

Summary

As always, we’re incredibly grateful to our users, testers, and contributors
for all of the feedback, questions, experiments, and ideas that are helping us
to improve lnd and Lightning every day. This release in particular
incorporates a lot of learnings from the community as we’ve seen real-world
usage grow at an incredible pace that would have been hard to imagine just a
short time ago. Please continue to work with us via IRC,
Slack,
Github or in person via meetups or
other venues.