Dual funded channels, and a native decentralized liquidity market on the lightning network

Posted 27 days ago by InternationalRoutingService

My node InternationalRoutingService is offering liquidity and dual funded channels.

The latest version of C-Lightning version 0.10.1 it has a new functionality of dual funded channels and liquidity advertisements.

This requires at c-lightning verison 0.10.1 and the experimental dual fund option switched on. This can be enabled by setting the option experimental-dual-fund within your configuration file. Or you can pass the flag --experimental-dual-fund when starting clightning.

Dual funded channels
With dual funded channels, a single channel can be opened up between two nodes with funds contributed by both nodes enabling liquidity on both sides of the channel. This creates both inbound and outbound liquidity between two nodes on a single channel creation.

Liquidity market built into the lightning network
And now c-lightning nodes can also advertise liquidity offers directly within the lightning network. Any c-lightning node can offer liquidity and find other c-lightning nodes advertising liquidity. By default liquidity leases last for 4032 blocks, approximately 1 month.

When requesting inbound liquidity from a c-lightning node you can optionally dual fund it on your side also for a partially or fully balanced channel to compliment your inbound liquidity. Or else you can just request inbound capacity as long as you have enough funds in your wallet to pay for the lease.

At the time of this writing there are 9 nodes advertising liquidity on the lightning network using this feature. You can search for nodes offering liquidity and their rates with the command 
lightning-cli listnodes | grep -B20 -A7 option_will_fund

You can view the information for a specific node using the listnodes command which also contains information on liquidity offers. For example, to get information on my node you would type the command  
lightning-cli listnodes 03a7c61c056023c804c6d63693345e00ed8e2b28c8d2e0c455964bfff31128df40

I am charging 0 fees on channels in opened through this offer. And charging 60 basis points 0.6% on inbound liquidity. For example if a node is requesting 5,000,000 sats of inbound liquidity my node would charge 30,000 sats when the channel is opened. Right now my node is earning sats on leasing liquidity instead of transaction fees. At the moment most or all of my channels have zero fees.

My node is a tor only node. At some point I plan to get a clearnet proxy for it. If your node has tor installed you can connect to nodes both on the clearnet or tor. If you do not have tor, a tor node has to first connect to you.

To connect to my node and request inbound liquidity you can use the following two commands. You will want to adjust the variables amount= and request_amt= in the second command. amount= is how much you are funding on your side of the channel. request_amt= is how much inbound capacity you are requesting to be leased. The "compact_lease" in this example is accurate at the time of this writing. If this command does not work you will want to check for the latest compact_lease ID. You can find the current compact_lease ID with the listnodes command mentioned earlier.

lightning-cli connect 03a7c61c056023c804c6d63693345e00ed8e2b28c8d2e0c455964bfff31128df40@h7a7yk4jixep6ozr7u2ehurh33kbznffzd4b5dsz7evoupexdh26lgqd.onion:9735

lightning-cli fundchannel -k id=03a7c61c056023c804c6d63693345e00ed8e2b28c8d2e0c455964bfff31128df40 amount=0sat request_amt=50000000sat compact_lease=029a003c000000000001

More information

LN+ replied 25 days ago

Great writeup!

Please sign in to post replies.

Lightning Network Node
Capacity: 47,114,151 SAT
Channels: 13