In MPP discussion https://stephanlivera.com/200/ during the 52:00 line of questions, at 53:55 "what are some of the constraints...?" Christian Decker mentions that receiver holds on to parts that succeeded. If the sender never finishes getting all parts across, what happens to the parts that did go thru?
There is no guarantee for atomicity, they assume incomplete payments will not be accepted by the receiver and they retry the payments that are not able to go through, possibly splitting them recursively until a minimum amount. I was not able to understand what happens in this case, since the receiver will still be able to accept most of the amount and the sender has no chance to call back the parts that went through. We need AMP. Source: https://lightning.engineering/posts/2020-05-07-mpp/
Christian mentions that receivers hold on to parts that succeeded, but he really means to have them on-hold like the "hold" invoices that wait for a final confirmation from the receiver after the sender has a fully committed payment. Per the spec, the receiver should wait at least 60 secs for all other payments to come through. If they are not received in time, the final node must fail all the htlcs in the htlcset. However, if it fulfills any HTLCs in the htlset, it must fulfill ALL of them.
Add your answer
Note:
- Answers should ONLY be used to respond to the original question at the top of this page! Use the ADD COMMENT or ADD REPLY buttons above to respond to someone, ask for clarifications, request more details, etc.
- Maximum answer length is 500 characters due to limits on Lightning invoice size. After posting you can use comments to expand.
- Incentive is awarded to signed answers only