Dual-Funding, Splicing & Bolt12 Offers In Eclair
You've read it right: as of version 0.9.0, channels dual-funding, splicing and Offers are fully implemented in Eclair. All these features are still experimental and hence disabled by default, and it is recommended to only enable them if you know what you're doing. The Acinq team is now waiting for the specification work to be finalized and other implementations to be ready to perform cross-implementations compatibility tests
As a reminder:
- dual-funding enables both parties of a channel to contribute funds to the opening of the channel, whereas currently only one of the two participants does. With dual-funding, channels can begin their life already well-balanced, which means easier access to inbound liquidity and lower capital requirements for individual node operators ;
- splicing allows for the resizing of Lightning channels without having to close them. Currently, a channel's size (or capacity) is set in stone at the opening of the channel. If your need evolves and you'd like to have a bigger or smaller channel with a peer, your only option is to open a new channel (and potentially close the old one). With splicing, you can resize an existing channel with only one Bitcoin transaction, which means better on-chain efficiency and higher uptime for your channels. This is also particularly useful for LSP who constantly need to adapt to their users liquidity requirements ;
- Bolt12 Offers are Lightning-native static payment codes, a bit like LNURL-Pay, but where everything happens on the Lightning Network itself rather than with HTTP requests. When you create and display a Bolt12 Offer, anyone can use it to query an invoice from your node and pay it, without you needing to be around. This is hence a huge UX improvement.
Eclair's Dual-Funding implementation is fully aligned with the existing specification (which the Eclair team contributed to extensively), while their Splicing implementation differs from the current specification proposal, since the Eclair team came up with various improvements which will be merged into the specification.
Regarding Bolt12, Eclair can now natively pay Offers, but receiving using Offers will require running a plugin on top of Eclair, which will create offers and handle invoice requests.
See the full release notes for more details, as well as to see what other things this update brings (notably channel open acceptance and configuration). And kudos to the Acinq team on this milestone!