-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Three-hop blinded paths #2793
base: main
Are you sure you want to change the base?
Three-hop blinded paths #2793
Commits on Jun 5, 2024
-
Move DefaultMessageRouter::create_blinded_paths
An upcoming change to the MessageRouter trait will require reusing DefaultMessageRouter::create_blinded_paths. Move the code to a utility function so facilitate this.
Configuration menu - View commit details
-
Copy full SHA for defc540 - Browse repository at this point
Copy the full SHA defc540View commit details -
Refactor MessageRouter::create_blinded_paths
Using compact blinded paths isn't always necessary or desirable. For instance, reply paths are communicated via onion messages where space isn't a premium unlike in QR codes. Additionally, long-lived paths could become invalid if the channel associated with the SCID is closed. Refactor MessageRouter::create_blinded_paths into two methods: one for compact blinded paths and one for normal blinded paths.
Configuration menu - View commit details
-
Copy full SHA for 5326171 - Browse repository at this point
Copy the full SHA 5326171View commit details -
Don't use compact blinded paths for reply paths
There's no need to save space when creating reply paths since they are part of onion messages rather than in QR codes. Use normal blinded paths for these instead as they are less likely to become invalid in case of channel closure.
Configuration menu - View commit details
-
Copy full SHA for 411b9b4 - Browse repository at this point
Copy the full SHA 411b9b4View commit details -
Use compact blinded paths for short-lived offers
When an offer is short-lived, the likelihood of a channel used in a compact blinded path going away is low. Require passing the absolute expiry of an offer to ChannelManager::create_offer_builder so that it can be used to determine whether or not compact blinded path should be used. Use the same criteria for creating blinded paths for refunds as well.
Configuration menu - View commit details
-
Copy full SHA for 8012c2b - Browse repository at this point
Copy the full SHA 8012c2bView commit details -
Fix functional_test_utils::reconnect_nodes
When reconnecting nodes, make sure to notify OnionMessenger that the nodes are now connected.
Configuration menu - View commit details
-
Copy full SHA for 15fa0d8 - Browse repository at this point
Copy the full SHA 15fa0d8View commit details -
Exclude disconnected peers from BlindedPath
When calling MessageRouter::create_blinded_path, ChannelManager was including disconnected peers. Filter peers such that only connected ones are included. Otherwise, the resulting BlindedPath may not work.
Configuration menu - View commit details
-
Copy full SHA for 7db6616 - Browse repository at this point
Copy the full SHA 7db6616View commit details -
Clarify docs regarding one-hop blinded paths
The docs assumed ChannelManager is parameterized by DefaultRouter, which may not be the case. Clarify the behavior is specific to using DefaultRouter.
Configuration menu - View commit details
-
Copy full SHA for c17a026 - Browse repository at this point
Copy the full SHA c17a026View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e3a220 - Browse repository at this point
Copy the full SHA 8e3a220View commit details -
Configuration menu - View commit details
-
Copy full SHA for 744af6f - Browse repository at this point
Copy the full SHA 744af6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e1a356 - Browse repository at this point
Copy the full SHA 3e1a356View commit details -
Configuration menu - View commit details
-
Copy full SHA for 677b6a2 - Browse repository at this point
Copy the full SHA 677b6a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50ed6da - Browse repository at this point
Copy the full SHA 50ed6daView commit details -
Consider channel balance certainty in blinded path
How certain a scorer is about a channel's liquidity balance is useful in determining if the channel should be included in a blinded payment path. Channels with uncertain balances should be avoided to facilitate successful payments. Expand ScoreLookUp with a channel_balance_certainty method and use it in DefaultRouter::create_blinded_payment_paths.
Configuration menu - View commit details
-
Copy full SHA for 1172a66 - Browse repository at this point
Copy the full SHA 1172a66View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd3b86d - Browse repository at this point
Copy the full SHA dd3b86dView commit details -
Consider success probability in blinded path
How certain a scorer is about a channel's success probability is useful in determining if the channel should be included in a blinded payment path. Channels with low success probability for a given amount should be avoided to facilitate successful payments. Expand ScoreLookUp with a channel_success_probability method and use it in DefaultRouter::create_blinded_payment_paths.
Configuration menu - View commit details
-
Copy full SHA for 53c006a - Browse repository at this point
Copy the full SHA 53c006aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee88951 - Browse repository at this point
Copy the full SHA ee88951View commit details