-
Notifications
You must be signed in to change notification settings - Fork 367
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
Blinded Paths are probe-able #3117
Comments
We discussed offline possible including a 16-byte nonce in each |
Isn't the metadata in |
Oh, actually the |
I had been thinking if it were encrypted with the |
Is there some world where we could drop the |
We use the one in the metadata to verify the offer, and computing it requires knowing all the fields (including the paths) in advance. So we'd need to exclude the paths from verification and only construct them when calling Hmm... might also be a problem for offers with no amount and description since no other fields would be set? Though maybe having the unique nonce is sufficient? There's also the case where no paths are given (i.e., deriving metadata for verification and signing using the node id), so we'd need to conditionally set the metadata then. |
I was thinking basically we'd put a nonce in the blinded path (and in the offer if there's no BP, I guess), then do basically H(offer || nonce) as the key derivation secret. |
Ah, so IIUC we are essentially doing H(offer || nonce) already: rust-lightning/lightning/src/offers/signer.rs Line 174 in 87fc324
And deriving the secret after including the offer TLVs in the HMAC: rust-lightning/lightning/src/offers/signer.rs Lines 112 to 117 in 87fc324
rust-lightning/lightning/src/offers/signer.rs Lines 198 to 200 in 87fc324
So we'd simply keep the metadata empty and use the same nonce in the blinded paths. When handling a request, we'd pass the received nonce to |
I think that works, yea. Its even backwards compatible (if we want to bother) because we can keep accepting our old offers by accepting the metadata but we wont generate new offers with it. |
See #3085 (comment) We probably need to get this done ASAP in the next release since this will invalidate all existing offers.
The text was updated successfully, but these errors were encountered: