Lightning: Multiple channels not supported

Created on 9 Oct 2018  路  9Comments  路  Source: ElementsProject/lightning

Other nodes are reporting that they can not connect back to us because our node is giving an error:

Error on open channel: rpc.RPCError: command failed: peer sent error: 'Multiple channels unsupported'

Why c-lightning is not supporting multiple channels? How to gain reverse capacity that way?

Are you planning to support this? Honestly, we will change the implementation otherwise. This is critical.

feature

Most helpful comment

Dual-funding refers to a single channel being funded with funds from both endpoints, whereas this issue is about having multiple channels between the same endpoints.

C-lightning is currently the only implementation that has a working dual-funding implementation, LND haven't started implementing it yet, so you won't be able to use it with one.

All 9 comments

There are a number of decisions that drove us to postpone multiple channels per peer:

  1. It's just simpler to implement a single channel per peer, since there needs to be no multiplexing of channels over a single connection.
  2. Users shouldn't really care with whom they have a channel open, as long as the destination is reachable, directly or indirectly. If direct channels are required we might as well give up.
  3. Setting up dual-funded channels (which will be on the table for the November spec meeting) is far better than setting up multiple channels to achieve the same goal. Dual funded channels have half of the on-chain footprint, and have the sum total of capacities at their disposal rather than partitioning across multiple channels.
  4. The same thing can be achieved via splicing (also going to be discussed in November), i.e., set up a single-funded channel, then have the other side splice some funds in, and you just bumped the capacity of the single channel (no need to increase the network graph size).

That being said, it still is on the roadmap, just not the highest priority issue :wink:

PS: has the "implement this or we'll stop using your implementation" threat ever worked before?

I understand your frustration with this! We have made splicing a priority for the upcoming spec for this very reason: it's awkward to avoid multiple channels currently. Our security model works best with one-channel-one-process, however, and we're reluctant to compromise here.

PS: has the "implement this or we'll stop using your implementation" threat ever worked before?

Sorry. I did not want to sound like a threat. Thanks for the detailed explanation.

I think that reverse capacity is the biggest problem in Lightning. This restriction is making the problem worst. At least in the current model.

This is driving people away from c-lightning towards lnd.

I had a vague plan that would allow C-Lightning to support multiple channels per peer, without doing too much damage to the C-Lightning architecture. https://lists.ozlabs.org/pipermail/c-lightning/2018-July/000058.html

@cdecker can you shed some light on the results of the spec meeting relating to dual funded channels and/or splicing? Your original comment is from over two years ago and since this issue hasn't been closed I'm assuming it hasn't been obviated by the aforementioned spec changes. Any info you have would be much appreciated 馃檹馃徏

Thanks to @niftynei's efforts we have an experimental implementation of dual-funding (compile with EXPERIMENTAL_FEATURES=1). Once the specification is finalized we expect other implementations to implement the proposal as well.

@cdecker Just to understand the state of things; if we compile with EXPERIMENTAL_FEATURES=1, does that mean the node should be able to open dual-funded channels as expected with LND nodes?

Dual-funding refers to a single channel being funded with funds from both endpoints, whereas this issue is about having multiple channels between the same endpoints.

C-lightning is currently the only implementation that has a working dual-funding implementation, LND haven't started implementing it yet, so you won't be able to use it with one.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jonasnick picture jonasnick  路  3Comments

ZmnSCPxj picture ZmnSCPxj  路  4Comments

brunoaduarte picture brunoaduarte  路  4Comments

ldn2017 picture ldn2017  路  4Comments

agilob picture agilob  路  4Comments