Skip to content
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

Lightning Specification Meeting 2022/08/01 #1015

Closed
13 of 25 tasks
Roasbeef opened this issue Aug 1, 2022 · 2 comments
Closed
13 of 25 tasks

Lightning Specification Meeting 2022/08/01 #1015

Roasbeef opened this issue Aug 1, 2022 · 2 comments

Comments

@Roasbeef
Copy link
Collaborator

Roasbeef commented Aug 1, 2022

The meeting will take place on Monday 2022/07/04 at 8pm UTC (5:30am Adelaide time) on Libera Chat IRC #lightning-dev. It is open to the public.

A video link is available for higher bandwidth communication: https://meet.jit.si/Lightning-Spec-Meeting

Pull Request Review

Waiting for interop

Long Term Updates

Backlog

The following are topics that we should discuss at some point, so if we have time to discuss them great, otherwise they slip to the next meeting.

@Roasbeef
Copy link
Collaborator Author

Roasbeef commented Aug 1, 2022

Legacy onion format update:

  • latest lnd release switches the "send to route" call to use the modern payload
  • t-bast still seeing some legacy onion payloads, around 5%

HTLC max stuff:

  • Trivial number not setting, it should be g2g

Actions:

Interop updates:

  • DNS and websockets extensions looking g2g, clear to merge
    • lnd 0.15 will now properly allow them to propagate (ignoring unknown node addr types)

@t-bast
Copy link
Collaborator

t-bast commented Aug 2, 2022

Thanks for the summary laolu! Here are more details on the route blinding discussion about error messages.

The current state of the PR says that whenever an error occurs inside the blinded path, nodes must return a malformed onion (with update_fail_malformed_htlc) to ensure no data from within the blinded path can leak and reveal private information (probing protection). Nodes inside the blinded path should also transform normal errors into malformed errors: this way even if one node is misbehaving and sending a normal error, this can be corrected by other nodes inside the blinded path.

This strategy is quite extreme. We may want to allow some information to be propagated back to the sender for some failure cases. The proposal from @rustyrussell is that the final node can be allowed to send normal errors (update_fail_htlc) for a few cases, such as MPP timeout. Intermediate nodes should still only use update_fail_malformed_htlc for their own errors, but shouldn't transform normal errors into malformed errors anymore.

The risk with that proposal is that a misbehaving node who is next-to-last can now send a normal error (instead of a malformed one) and other nodes in the blinded will not correct it by transforming it into a malformed error, potentially giving the sender private information that would let them probe the identity of the recipient. However, if such a next-to-last node was malicious, they probably have other ways of exposing the recipient, and can simply deny them the payment, so maybe we shouldn't care about such scenario?

I don't have a definite answer yet, @thomash-acinq and I will spend more time on the implementation and will report back.

@t-bast t-bast unpinned this issue Aug 12, 2022
@t-bast t-bast closed this as completed Aug 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants