After studying about Lightning Networks in this and related articles, I noticed that I do not perceive how the protocol & the system prevents the next state of affairs:
There’s a longtime channel between Alice & Bob.
The transaction outputs of the newest ‘agreed’ off-chain transaction are 1BC on Alice’s aspect and 1 BC on Bob’s aspect.
Alice & Bob provoke a brand new transaction.
Alice & Bob alternate their elements of revocation keys.
Bob decides to cheat and pretends to “disappear”, not signing the brand new transaction and never responding, however nonetheless being on-line and monitoring on-chain transactions.
Sooner or later in time, if Alice desires to unlock her 1 bitcoin, she executes newest ‘agreed’ transaction, however her funds are locked for two weeks.
Whereas pretending to be unresponsive, Bob is monitoring the chain and executes the revocation clause as quickly because it occurs, getting each bitcoins.
Clearly, important time could cross between #5 and #6, but when Bob can afford to attend, he can pull that trick.
Plainly so as to keep away from that, new off-chain transactions must be signed in a single distributed transaction with the alternate of revocation keys, however I do not see how it’s possible. I’ve learn a number of mentions that the keys are exchanged previous to signing new transactions.
I’ve learn an identical query right here, however I do not assume it actually addresses the scenario I’ve described.
What am I lacking?