Open optout21 opened 10 months ago
Conclusion (may be non final):
Transition to the new capacity and funding tx should be done only when the new splice tx has locked.
In the transitional period -- between splice tx created and getting locked -- both funding txs have to be kept around. During this period it is unknown which of the two TXs (old and new) are spend/unspent. So at an eventual close both should be attempted to be closed. See also #2 .
Note: in a new version, prototype has been updated in this manner (commit only upon lock). (https://github.com/optout21/rust-lightning/tree/splicing-hapa4)
During the splicing process some important channel parameters change:
When exactly to commit to the splicing and update to the new values? It makes sense to update all the above parameters at once.
The splicing process consists of a number of steps:
Some constraints are:
Between 7. and 8. there is an interesting situation: the new transaction has been broadcast, but there is not guarantee that it will be accepted, it will get into a block, and it will be confirmed. If the channel is attempted to be closed during this period:
Note that splicing process is somewhat analogous to channel open, but there the funding TX can be saves as soon as possible, as there is no previous TX to be masked by it.