Skip to content

Eclair v0.5.0

Compare
Choose a tag to compare
@t-bast t-bast released this 18 Dec 14:30
· 779 commits to master since this release
35b070e

Eclair v0.5.0

This release includes many exciting new features, API changes as well as several bug fixes and improvements.
It is fully compatible with 0.4.2 (and all previous versions of eclair).

Major changes

Cluster mode

Eclair now allows you to scale up one logical lightning node across multiple servers.

Front servers take care of routing table related gossip and syncing requests from peers, which is cpu/bandwidth intensive.
The backend server can focus on core channel management.
BOLT 1 and BOLT 7 messages are handled in the frontend, while BOLT 2 messages go through and are processed in the backend.

This new feature is key for robust and scalable enterprise deployments.
Head over to the documentation for more details.

Blockchain watchdogs

Eclair now includes a blockchain watchdog, that fetches bitcoin headers from various sources in order to detect whether we're being eclipsed.

The current blockchain sources we use are:

  • blockchainheaders.net (headers over DNS)
  • blockstream.info
  • mempool.space

Seed segregation

Eclair now splits your seed into two distinct parts: node_seed.dat and channel_seed.dat.

It makes sense to separate the keys that are used for connection handling and gossip (and have no impact on your funds) from the keys that are used for channel operations (and have a direct, critical impact on your funds).

This change paves the way for future security improvements, such as using hardware wallets for channel keys.

Per-node feerate tolerance

On-chain feerate spikes have a subtle but important impact on the security of your channel funds.
Eclair lets you configure the tolerance you have with your peers via the eclair.on-chain-fees.feerate-tolerance configuration parameter.

With this release, you can now override this configuration for specific nodes.
This can be useful when one of your peer is trusted and you know it won't try to cheat you (for example because it's one of your own nodes, a family member's node or a friend).
You can configure a higher feerate tolerance with these nodes than with nodes you don't know or trust.

Plugin improvements

More plugins hooks have been added to eclair, to allow custom connection management and custom commitment formats.
Hats off to @btcontract who was able to implement hosted channels entirely as an eclair plugin!

API changes

This release contains a few improvements to existing APIs:

  • The channelId field has been added to the channel-state-changed websocket event
  • Initial relay fees can be configured when opening a channel with the open API

Head over to our API documentation for more details.

Miscellaneous improvements and bug fixes

  • #1617 lets you redirect traffic automatically from a tor node to a normal node
  • option_static_remotekey is now optionally activated by default

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
$ sha256sum -c SHA256SUMS.stripped

Building

Eclair builds are deterministic. To reproduce our builds, please use the following environment (*):

  • Ubuntu 19.10
  • AdoptOpenJDK 11.0.6
  • Maven 3.6.3

Use the following command to generate the eclair-node package:

mvn clean install -DskipTests

That should generate eclair-node/target/eclair-node-0.5.0-XXXXXXX-bin.zip with sha256 checksums that match the one we provide and sign in SHA256SUMS.asc

(*) You may be able to build the exact same artefacts with other operating systems or versions of JDK 11, we have not tried everything.

Upgrading

This release is fully compatible with Eclair v0.4.2. You don't need to close your channels, just stop eclair, upgrade and restart.

Changelog