<p>There seems to be a mix in notation. Payment channels on lightning are bidirectional by design. However that does not mean that funds can always flow on both directions. Currently channels are funded by one party an as such can not receive funds after opening. As was mentioned in the comment what you mean is called a dual funded channel. </p>

<p>As soon as you use a channel to make a payment the balance changes and you will be able to receive funds. Since the lightning network is in use it is fair to assume that most channels by now are somewhat balanced in the sense they can send and receive. So at this time it might just be a matter of opening one channel t be able to pay some party on the network and thus have the ability to receive money again. There are services that reimburse you onchain once you pay their invoice. This can be used to have a balanced channel. </p>

<p>In deed in the very beginning with the channel design there was the cold start problem. But apparently this has been overcome. Though I agree with you it is hard to imagine that we have been able to do so without dual funded channels. </p>

<p>BTW lisa neigut is pretty far of implementing the dual funded channel protocol for c Lightning. So clightning will probably be the first implementation supporting dual funded channels. </p>

CC BY-SA 4.0
2019-11-14T15:32:19.437Z
I was wrong about a lot of things concerning the lightning network before your explanation, Thank you so much, you went very deep in the topic.
dcfg
CC BY-SA 4.0
2019-11-14T10:48:32.000Z
2019-11-14T10:48:32.000Z
Rene Pickhardt
<p>With the current version of <em>c-lightning</em> is it possible to open a bidirectional channel funded by both parties?
I managed to open a channel with <strong>fundchannel</strong> command, but that seems to be a unidirectional channel, since only I provided the funds.
I don't understand how the entire network can work if we can open channels funded by just one party.</p>

CC BY-SA 4.0
2019-11-13T22:40:31.493Z
Once you send a payment through your channel, it will become bidirectional. Multiparty channel funding is planned for a future BOLT spec. From @cdecker's comment on your other question: *The canonical way to balance a channel in c-lightning is to have somebody open an incoming channel and then using the rebalance plugin (github.com/lightningd/plugins/tree/master/rebalance) to balance those channels by paying yourself along a circular route.*
chytrik
CC BY-SA 4.0
2019-11-14T06:08:30.273Z
So basically the only way now is to wait for an incoming channel and then use the rebalance plugin. Thank you for your patience, really appreciate it
dcfg
CC BY-SA 4.0
2019-11-14T06:31:07.207Z
The rebalance plugin isn’t entirely necessary, if someone opens a channel to you you’ll have incoming capacity, rebalancing plugin or not. Once you send a payment you will have receiving capacity as well.
chytrik
CC BY-SA 4.0
2019-11-14T06:33:46.307Z
The incoming channels are those showed by the **listchannels**  command, aren't they?
dcfg
CC BY-SA 4.0
2019-11-14T10:38:51.820Z
No you have to use listfunds or listpeers. The listchannels command lists publicly known channels on the network.
Rene Pickhardt
CC BY-SA 4.0
2019-11-14T10:39:49.840Z
You can also rebalance a channel by using a submarine swap for example offered by zigzag.io
Rene Pickhardt
<lightning-network><core-lightning><channels>
Bidirectional channel opening in c-lightning
dcfg
# Bidirectional channel opening in c-lightning

(Asked by: username_0 on 2019-11-13)

With the current version of *c-lightning* is it possible to open a bidirectional channel funded by both parties?
I managed to open a channel with **fundchannel** command, but that seems to be a unidirectional channel, since only I provided the funds.
I don't understand how the entire network can work if we can open channels funded by just one party.

**Tags:** lightning-network, core-lightning, channels

> **Comments:**
> **username_1**: Once you send a payment through your channel, it will become bidirectional. Multiparty channel funding is planned for a future BOLT spec. From @cdecker's comment on your other question: *The canonical way to balance a channel in c-lightning is to have somebody open an incoming channel and then using the rebalance plugin (github.com/lightningd/plugins/tree/master/rebalance) to balance those channels by paying yourself along a circular route.*  
> **username_0**: So basically the only way now is to wait for an incoming channel and then use the rebalance plugin. Thank you for your patience, really appreciate it  
> **username_1**: The rebalance plugin isn’t entirely necessary, if someone opens a channel to you you’ll have incoming capacity, rebalancing plugin or not. Once you send a payment you will have receiving capacity as well.  
> **username_0**: The incoming channels are those showed by the **listchannels**  command, aren't they?  
> **username_2**: No you have to use listfunds or listpeers. The listchannels command lists publicly known channels on the network.  
> **username_2**: You can also rebalance a channel by using a submarine swap for example offered by zigzag.io  

---

## 1 answers

### Answer by username_2 on 2019-11-14. Score: 3 | Accepted answer

There seems to be a mix in notation. Payment channels on lightning are bidirectional by design. However that does not mean that funds can always flow on both directions. Currently channels are funded by one party an as such can not receive funds after opening. As was mentioned in the comment what you mean is called a dual funded channel.

As soon as you use a channel to make a payment the balance changes and you will be able to receive funds. Since the lightning network is in use it is fair to assume that most channels by now are somewhat balanced in the sense they can send and receive. So at this time it might just be a matter of opening one channel t be able to pay some party on the network and thus have the ability to receive money again. There are services that reimburse you onchain once you pay their invoice. This can be used to have a balanced channel.

In deed in the very beginning with the channel design there was the cold start problem. But apparently this has been overcome. Though I agree with you it is hard to imagine that we have been able to do so without dual funded channels.

BTW lisa neigut is pretty far of implementing the dual funded channel protocol for c Lightning. So clightning will probably be the first implementation supporting dual funded channels.

> **Comments:**
> **username_0**: I was wrong about a lot of things concerning the lightning network before your explanation, Thank you so much, you went very deep in the topic.  

---

