Description
There was discussion about stuckless (cancellable) payments in Lightning recently (https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-June/002029.html).
The high-level idea is that we add a second hash/preimage to the HTLC script that prevents the receiver from fulfilling the HTLC (the sender has one preimage and the receiver has the other). When the receiver receives the HTLC he communicates out-of-band (to be spec-ed) with the sender to receive the sender preimage and fulfill the HTLC. This lets the sender safely send the payment via redundant paths (for better latency and improved success rate) and then cancel redundant payments (by not releasing the sender-side preimage).
It seems to me that this mechanism is also possible with scriptless scripts multi-hop locks by letting the sender add another tweak and only reveal it once the receiver acks reception of the HTLC. @jonasnick does that sounds correct or am I missing something? I can try making a PR to add this useful feature if you want.