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.
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.
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