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

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

Blockstream Team

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