There are two types of channel backups in Electrum. The first one ('File -> Save backup') backs up only information required to reestablish the connection with the other party and request a forced channel closure. This kind of backup is called a
Static Channel Backup.
Data-loss protection discourages the other party from providing the old state of the channel. The second method is backing up each channel individually. Apparently, such backups contain the latest commitment state of the channel so a force-close is not required.
I tried to backup a single channel and "restore" it on another computer. What I did:
I took my second pc, installed electrum, imported the seed -> I see my correct onchain balance, but not Lightning balance.
Then went back on my first computer's electrum -> right-click on my channel -> export. I see the message saying that the channel backup can be used only to force-close the channel, not to restore it on another device (what a pity!).
Anyway, I copied the string "channel_backup:.....hereMyChannelBackupString.....", I pasted it on the second pc, right-clicking inside the blank frame of "channels" tab.
I now see the channel on my second pc, it says: "BACKUP of ...IDhere..." with STATUS = FUNDED. The only thing I can do is force-closure of the channel.
my thoughts:
Your lightning network wallet is strictly tied to a single device (at least, for the moment). Which is a huge limitation imo if compared to onchain operability of lightwallets. Indeed, you'll never lose your funds if that device is lost/sold etc., thanks to the backup, but changing device will cost you time and onchain fees for channel closure and re-opening. Also, you won't be able to use at the same time a wallet on desktop and mobile.
I wonder why it is technically so difficult to develop a process of "migration" of the entire wallet, channels included, to a second device. It's not just for electrum light wallet, I'm pretty sure it's the same for LND and c-lightning.
I know that Lightning channels are linked to the public key, not the IP. I think that if your IP address changes, then the updated IP is communicated through a node_announcement message to your channel counterpart (and also propagated over the network).
So what is preventing me from using the same wallet on many different devices? Why can't I easily send to my peer an immediate update and switch to another fully operative device? The only risk I can see from my side is that if I send a wrong (past) commitment transaction I could incur in a penalty (my peer thnks of a fraud and broadcasts a breach remedy transaction). But the wallet should just warn me of the risks, not stop me from switching between devices. So I think there are other technical obstacles I ignore...
ps: I'm not even sure about what is going to happen on my electrum wallet if the IP changes. What will happen to the channels? Will I only be able to force-close them, like it happens when I import a channel backup on a new device? Or this entire IP story is completely unrelated to that? Thanks for your thoughts and feedbacks.