You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once LND has the ability to send payments to blinded routes (albeit only via SendToRoute), we need to update mission control to handle a new invalid_onion_blinding error code. A quick recap of core concepts for error handling in blinded routes:
LND's pathfinding expresses blinded routes as a series of chained hints (introduction -> B1 -> B2)
These hints use blinded node IDs, which are effectively "single use" for the blinded path (as blinding point is unique per-path)
Relaying nodes (B1/B2): MUST send an update_fail_malformed_htlc error using the invalid_onion_blinding
Introduction node: MUST send an update_fail_htlc error using the invalid_onion_blinding
This means that any error that occurs within a blinded route will appear to originate from the introduction node. This can be handled by mission control by penalizing the full blinded route (introduction -> final node) as we don't know which node has failed.
The text was updated successfully, but these errors were encountered:
One thing that I wonder about is whether it's unfair to the introduction node to do it this way (as their real node ID gets hit and everybody else is just penalized for that payment) but I don't really see any incentive for the blinded hops to try to mess with the introduction node because they're tied to it (if it can't be used for the payment to that blinded path, they can't be used either).
More specific proposal for how to handle these (erroring node highlighted in yellow).
Intermediate Failures
Report success up until the introduction node.
Report failure afterwards.
Final Node Failures
Always fail the receiving node and terminate payment because we do not expect this error from a final node:
Introduction nodes should send a regular error if they're the recipient.
Other nodes have no business sending this error.
Unexpected Reports
In theory, nodes that are not part of a blinded route could report this error. In this case we'll penalize the node heavily because it's either buggy or disobeying the spec on purpose.
Will follow with code but please LMK any thoughts on the approach!
This issue describes a small follow up to #7200.
Once LND has the ability to send payments to blinded routes (albeit only via
SendToRoute
), we need to update mission control to handle a newinvalid_onion_blinding
error code. A quick recap of core concepts for error handling in blinded routes:MUST send an update_fail_malformed_htlc error using the invalid_onion_blinding
MUST send an update_fail_htlc error using the invalid_onion_blinding
This means that any error that occurs within a blinded route will appear to originate from the introduction node. This can be handled by mission control by penalizing the full blinded route (introduction -> final node) as we don't know which node has failed.
The text was updated successfully, but these errors were encountered: