When an LN channel is created, it is funded with an initial BTC amount by at least one one peer. But given that most of the whole idea of LN is the existence of long running channels, I wonder if this means that it's possible for a channel to be "emptied", thus making "long running" a bit of a misnomer. Is it therefore possible for the channel's creator to "top up" the channel?
No. The amount of money in a channel cannot be changed once the channel exists. Channels cannot be topped up nor can they be "cashed out". Any change to the channel balance would require using new outputs and funding transactions. If it were the same channel (so the channel state is not committed to the blockchain), then fraud could occur where an old commitment transaction is broadcast that was from before new funds were added to the channel.
However, there is work on splicing, but that's more like closing a channel and jointly opening a new one.
Currently the capacity of a channel stays the same. However on the Lightning Developer Summit in Australia in November 2018 it was agreed that Splicing should be added to lightning. With splicing you can increase or decrease the capacity of a channel (and your balance)
If you don't care about capacity but just about the balance and you want to refill the channel of your channel there are four things you can do:
- You can receive a lightning payment by selling some good (:
- If you just fund to fill up capacity you could use a submarine swap which works by sending bitcoin in order to pay for a lightning invoice.
- You can also use exchange services like zigzag.io in order to send money from your channel to a bitcoin address.
- You can route a payment to yourself in order to rebalance 2 of your channels.