Payment Re-routing



Summary:

In this email conversation, Rusty Russell and Stephen explore the solution proposed by Joseph Poon for the problem of routing failure in a signed transaction. The proposed solution involves E routing a conditional refund back to A with a larger timeout via another route as a guarantee that E will not reveal the preimage required to take the stalled payment. This is only necessary if there is a routing failure when a signed transaction has been sent but not acknowledged or cancellation is refused. The reason A requires an additional preimage/hash when doing the "conditional refund" is in case the conditional refund itself fails. However, the most likely case is the routing fails cleanly. If B is unable to send to C because C has been offline or B otherwise refuses to route to C, B can undo the HTLC by cancelling the HTLC entirely. This cancellation can cascade back to the sender to free up the money. Joseph raises other questions such as who would pay E (and any other intermediate nodes) for locking up their money for such a time. It is assumed that the payment from A to E is split into many small payments. If the payment is too small to be split up, then it's probably cheap enough to not matter anyway. Resolving incomplete payments should be deferred until after the payment is sufficiently complete. The incentives are largely in favor of receiver being online and accepting since the recipient is increasing the amount of bitcoin they own.


Updated on: 2023-05-23T17:58:15.983758+00:00