Another Opus we're working on in c-lightning is dual-funding, so let's talk about that! This is Lisa's work, but I've been following along, and pushing to make it more general.

Today, you connect to a lightning node and open a channel, and you put all the funds in. This is simple, but it'd be better if you could both co-operate to construct a tx, especially if you could do it with multiple peers at once. This requires a generic coop construction protocol, which was fun to write...

This works: your peers don't even know about each other and yet you can all construct a tx together. You can also use that tx to do other coin moves, completely unrelated.

One issue is that spy nodes can start a channel open, find out your UTXOs, and abort. There's a protocol Coinjoin uses here called PoDLE, which Lisa implemented, but it's non-trivial. Lloyd Fournier has some promising suggestions, but those still need work.

But once it's done, we get to do what Lisa really wanted, which is the WILL_FUND_FOR_FOOD option, where nodes advertize liquidity. This was recently done in a centralized proprietary manner by Lightning Labs, so it'd be nice to have this soon!

Finally, the same negotiation protocol can be used for splicing funds in or out of channels. The lack of this feature has been increasingly painful, particularly since c-lightning chose not to implement multiple channels to the same peer, in anticipation!

Follow

@rusty please tell me it's actually going to be called WILL_FUND_FOR_FOOD. 😂

@pete That's the hill I'm prepared to die on, yes.

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!