My suggestion to strenghten the channels is to always open a shadow 2of2 multi-sig wallet on the side which, if ever, can be "closed" only cooperatively, and any funds can be just added to it anytime, while agreeing with the other side on balance changes (see below).
Example:
A and B have both a 1M sat LN channel and a 2of2 multi-sig wallet (where each of them has their own BIP39 seed, just it is not managed by a bot/LNnode who could sign anything with that key according to the rules of LN network, but rather by humans who can work under any conditions they agree on, they start with 1M A and 100k B on that 2of2 multi-sig wallet).
The 1M sat LN channel was opened from B's side, so on the 2of2 multi-sig wallet A just notes (and "signs", in any way acceptable by B) the state of the 2of2 is now 500k for A and 600k for B. B then either pays an invoice or sends 500k via keysend to A.
If the channel gets force-closed by a software issue, they can negotiate the deal because they still are incentivized to cooperate because of the 2of2 multi-sig wallet.
What do you think about this? I guess many are already using similar techniques but have never seen it described generally, suitable for bedtime reading. Yes, this approach adds a level of trust, but this trust is near, with the party you (can) know and have real-life interaction with. It does not add any general trust requirement like in case of banks or governments.
I am not looking to change the way LN it works right now or other ways to create other type of LN or contracts. I am looking for answers "why a force close channel happen" and how the user can control this aspect. If we have a good documentation of how channels works right now, users will know what to do. My opinion is that LN works and is designed well enough, but normal users don't know exactly how it works, due to lack of information. Yeah maybe some LN devs knows very well these aspects, but the large number of noob users have no clue about what should take in consideration or not.
That's why I called here all LN devs, to speak loud and clear, giving an explanation why these force closures and what a normie can do about.
reply
I see your point. Just that what I propose is not changing LN at all. It is actually accepting it in whatever state it is right now (whether it does a lot of unintended channel force-closes or not).
reply