If none of the sides closes the channel, is the coin locked up forever?

  • I wish there would be something like "if no activity for n blocks auto-close". Maybe watchtowers could do it. Jan 10 '20 at 20:47

Tl;dr: also in lightning we have: not your keys, not your coins.

More detailed explanation:

I assume you mean with backup the private keys of the lightning node together with the history of the state data.

Then the same would happen as in the onchain case if you loose your keys. You could not move the coins anymore. Or in a onchain 2-2 multisig wallet (remember payment channels are just such a wallet together with some protocol how to spend from it) the same if you and the other person would loose their keys. None of you could move the btc anymore.

In lightning terminology this would mean that the channel stays open forever but no new states can be negotiated (meaning noone can route through that channel or use it to send / receive payments) and additionally the channel cannot be closed.

While this is a pity for you and your channel partner as in the onchain case it is also a pity for the network as other nodes still think the channel is active and will try to route payments over it.


From what I understand there are two types of backups. On-chain backups which store the keys of your on-chain funds that is on-chain channels and on-chain funds in the lightning implementation. This is the hsm_secret file in C-lightning. The other backup is the channel state which stores the commitment transaction state, the revocation keys etc. This is the lightning.sqlite3 file in C-lightning.

If you lose your backup from lightning.sqlite3 file, you have basically zero insight into what your current commitment state is within the active channels that you have. Your strategy should be to disconnect your node so that the other parties close the channels that they have with you unilaterally. However, since you have mentioned that your channel counterparty has also lost their backup, you cannot use this option.

Since both of you don't know what the current commitment state is and who is owed what amount, the best scenario that you have is to negotiate with your counterparty and make an on-chain transaction to close the channel. Since your and partner's hsm_secret file is safe you can make the on-chain transaction and recover the funds. You will need to derive the keys from the file but it will have to be done in a custom way as the implementations won't be able to handle this by itselves.

If you have lost your hsm_secret and lightning.sqlite3 file then there is no way to recover the funds. Since you have basically lost the keys for the on-chain funds, you have But this is being in the same boat as losing the wallet.dat file in Bitcoin Core.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.