c-lightning Opens First Dual-Funded Mainnet Lightning Channel!

c-lightning Opens First Dual-Funded Mainnet Lightning Channel!

By Lisa Neigut

Dual-funded channels can send Bitcoin payments in either direction from the get-go.

Well, they’ve done it, Charlie. c-lightning, the C-first Lightning implementation largely shepherded under Blockstream’s engineers, has successfully opened the first dual-funded Lightning channel on Bitcoin mainnet.

What is a “Dual-Funded” Channel?

Normally, when a Lightning node opens a channel, only the node that initiates the channel open can add funds.

This can create unbalanced channels, with the entire channel’s balance belonging to the node that opened the channel.

A dual-funded channel is one that both nodes contribute funds to in the funding transaction that opens the channel. The resulting channel balance is split between both nodes.

Why Dual-Funded Channels are Great

Unlike standard channel opens, dual-funded channels can send payments in both directions immediately.

Dual-funded channels also reduce the cost of deploying capital into the Lightning Network — in a recent talk at Berkeley, Clara Shikhelman of Chaincode Labs reviewed the cost economics of Lightning channels. According to her cost model, dual-funded channels have an improved cost profile compared to single-side funded channels, reducing the total on-chain fee cost for deploying liquidity into Lightning channels.

Finally, with c-lightning’s multifundchannel command, nodes can open multiple Lightning channels at once. When other nodes also contribute, these opens approximate a CoinJoin. Multi-party transactions break some on-chain correlation capabilities.

The Dual-Funded Channel

Earlier this week, we opened the world’s very first dual-funded channel. The channel was opened via transaction
91538cbc4aca767cb77aa0690c2a6e710e095c8eb6d8f73d53a3a29682cb7581 in block 681753 on Bitcoin mainnet.

The total channel output is 0.00204 bitcoin, which both peers contributed to.

Draft Status

The protocol for dual-funded channels is currently considered a draft. For it to be considered a standard, it must be implemented by another Lightning implementation.

The c-lightning team is in the process of rolling out an implementation of the draft. We’re also working on a plugin, funder, which enables nodes to set their policy for contributing funds to an inbound channel-open request from c-lightning peers.

The draft-compliant protocol and funder plugin will be available in the next c-lightning release, v0.10.1, anticipated this June.

Further Reading

You can find the draft proposal for dual-funded channels in the lightning-rfc pull requests.

Lease some Liquidity with Dual-Funding

If you’re running the latest version of c-lightning and would like to try your luck at opening a dual-funded channel, see our latest post about how to lease liquidity (using dual-funding).

Note: This blog was originally posted at https://medium.com/blockstream/c-lightning-opens-first-dual-funded-mainnet-lightning-channel-ada6b32a527c

Core Lightning (previously c-lightning) is a lightweight, highly customizable and standard compliant implementation of the Lightning Network protocol.

© 2023 Core Lightning
All rights reserved.

Discussion Forum

The official Core Lightning forum is coming soon!

BuildonL2 Community

The official BuildOnL2 community lives at community.corelightning.org. Join us and build the future of bitcoin on lightning.

Mailing List

For general discussions about CLN implementation, use c-lightning@lists.ozlabs.org. For the Lightning Network, use lightning-dev@lists.linuxfoundation.org

Telegram

Community-driven telegram group where most of the node operators hang out. Go to https://t.me/lightningd to join.

Discord

Community-driven discord server where the devs flock together. Go to https://discord.gg/w27fMFESMN to join.

Internet Relay Chat

Don't hesitate to reach out to us on IRC at #lightning-dev @ libera.chat, #c-lightning @ libera.chat.