Announcing lnd v0.6-beta!
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. This is also the first
release of lnd
that supports Lightning Loop out of the
box! 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
Neutrino
enhancements.
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 lnd
more
reliable for both CLI and
app
users, and there are also
several performance
memory
usage, 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 tweaks
and
optimizations 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
more
efficient and better able
to exclude
unnecessary
data. This will be even
more relevant as we move toward optimizing lnd
for mobile devices and other
devices with limited bandwidth and connectivity.
Compatibility
As an open-source project and implementation of the open Lightning Network
protocol, a number of
changes
to lnd
were
made
in v0.6-beta
to
improve
interoperability and
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
changes
to
the RPC
interface
that
are
designed
to
make lnd
easier
for
developers
to
work
with.
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.
Bug fixes
As with every lnd
release, v0.6-beta
comes with a number of bug fixes to
areas like HTLC handling,
channel closes,
the gRPC
interface,
autopilot, Tor
support,
wallet
sync
and
efficiency, channel
updates and
accounting.
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.