Bitcoin

Lightning Network – How does LND ensure that the same path is not reused for a retry after the first payment fails?

Let’s assume an LND node A I want to send a payment to another node D. that much pathfind Paths were found using a Dijkstra-based algorithm. B and C Start payment. It fails like this: B -> C Insufficient balance/bandwidth.

Will LND fail the payment or retry through a different route? How do you remember failed paths?

Follow-up question: Can node A Did you figure out which edge failed?


edit: To be more clear, in my example, the capacity of all channels is 0.5 BTC, and all channels have an even balanced distribution of this capacity (0.25, 0.25). B -> CThis is (0, 0.5) so B We currently cannot send payments to the following addresses: C.

The balance status (here: (0, 0.5)) is private, but the capacity of all channels is public.

As the routing calculations are completed A (source routing), the algorithm initially has no knowledge of the balance. If the A If you try to send just 0.001 BTC, the routing algorithm will find a path, but it won’t reach your goal.

Related Articles

Back to top button