Skip to content

Releases: decred/dcrlnd

v0.4.0 - Decred release v1.8.0

20 Sep 18:54
9086424
Compare
Choose a tag to compare

v0.3.0 - SPV Support

09 Feb 13:01
3c8c787
Compare
Choose a tag to compare

dcrlnd v0.3.0

Please note that while Bitcoin's Lightning Network has been in production for a few years, Decred's version still hasn't seen extensive use in mainnet. Users should be mindful of the total amount of funds comitted to dcrlnd wallets and channels.

This is a major dcrlnd release including significant amount of changes.

This release brings dcrlnd in line with the upstream lnd release v0.11.1 and also includes ports for versions v0.11.0, v0.10.0 and v0.9.0.

Downloads

Binaries for dcrlnd are included in Decred's version 1.6.0 release archives, provided in Github.

Vulnerability Fixes

This release includes fixes for CVE-2020-26896 and CVE-2020-895 made in the upstream lnd project. Fixes for these were released in upstream versions v0.11.0 and v0.10.0 respectively and the underlying issues were fully disclosed in Oct 20, 2020.

Additional context for the vulnerabilities and its impact in LN implementations, written by the original discoverer can be found here and here

Database Migrations

This release contains database migrations for the new TLV encoding of invoices, payment address indexing and close summary information. Old versions of dcrlnd cannot use the new database version once these migrations are applied.

Changelog

The major Decred-specific feature introduced in this release is the ability to run a dcrlnd instance connected to a dcrwallet running in SPV mode. This is useful mostly for Decrediton users that will now have the option to run dcrlnd even when their wallet is using the SPV configuration.

Node Syncing Config

CLI users now have two options for the --node argument:

  • --node=dcrd instructs dcrlnd to connect to a dcrd instance for on-chain operations.
  • --node=dcrw instructs dcrlnd to use the underlying dcrwallet instance for on-chain operations.

When using --node=dcrd, the --dcrd.-namespaced options should be used to configure the connection to the underlying dcrd node.

When using --node=dcrw, either the --dcrd.-namespaced options should be used, in order to use an embedded dcrwallet instance (that is, dcrwallet runs automatically inside dcrlnd) or the --dcrw.-namespaced options should be used to configure a remote dcrwallet instance.

Note that SPV mode is only supported on remote dcrwallet instances.

For hub nodes (that is, nodes that are online most of the time and offer the ability to receive open channel requests) the recommended config setting is to use embedded wallets with a dcrd instance.

Wumbo Channel Support

This release adapts the Wumbo feature for the realities of Decred. Wumbo channel support can be enabled by running dcrlnd with --protocol.wumbo-channels and has a global maximum channel size of 500 DCR.

Relevant Upstream Changes

The following is a non-exhaustive list of the relevant upstream changes that were ported to dcrlnd. These include changes from the upstream v0.9, v0.10 and v0.11 lines. Please refer to the respective upstream releases for additional information.

  • Multi Path Payment (MPP) support so that a single payment can be split among multiple channels.
  • Track payments with a new Payment Address field.
  • Additional TLV data sent in payments, which allows creating new use cases to deliver payload data via LN payments.
  • Keysend payment experiment which allows spontaneous payments without the need for a precreated invoice.
  • Upfront shutdown script support to enforce channel closure to pay to pre-configured addresses.
  • HTLC Interception API to allow creation of custom payment forwarding engines.
  • Additional data in Channel Close Summaries.
  • Add ability to limit max remote pending HTLC amount during channel opening.
  • Anchor outputs experimental feature.
  • External channel funding experimental feature.
  • Healthchecks to ensure adequate operating conditions of the node
  • Several bug fixes throughout the app.

Porting Effort

A total of 450 upstream PRs were considered for inclusion. The list of of PRs can be found in the acompanying upstream-prs.csv doc.

Decred Contributors (Alphabetical Order)

  • Fernando Guisso
  • Matheus Degiovani
  • Ole Andre Birkedal

Acknowledgement

The majority of the work included in this release is from features and bugfixes performed by the contributors to the upstream lnd project that were ported to Decred.

We wish to sincerely thank them for providing such a high quality project and hope we can continue to contribute in building a large scale and cross-coin LN ecosystem.

v0.2.1 - Wallet Syncer Hotfix

17 Jan 16:50
Compare
Choose a tag to compare

This version is the same as v0.2.0 but includes the hotfix #79 that ensures wallets reconnect to the underlying dcrd node if their connection is closed (for example if the dcrd node is restarted).

This affects dcrlnd nodes that run with an embedded dcrwallet and that remain online for a significant amount of time (i.e. hubs).

Decrediton wallets are not affected by this.

The build artifacts were reproducibly generated by https://github.com/matheusd/release-dcrlnd/

v0.1.0 - Initial Decred Release

30 Apr 10:52
Compare
Choose a tag to compare

This is the first public release of Decred's port of the Lightning Network Daemon.

Many thanks to all contributors of the original lnd (github.com/lightningnetwork/lnd) for making this port possible.

Read about the porting process on the announcement post.

Map of dcrlnd nodes

Faucets: