lightning
lightning copied to clipboard
offers should allow blinding paths
Issue and Steps to Reproduce
Offers currently reveal your node_id; there should at least be an option to not do that.
This involves:
- [ ] Implement routehints via blinded paths in offers and invoices.
- [ ] A transitory fake-id (duh) so the node doesn't reveal itself.
- [ ] Ensuring that payments are made via the routehints, not directly!
Would these route-hints be randomly generated based on nearby nodes we know of?
Based on this code below, it calls onion_message_ourpath hook of plugin fetchinvoice when onion messages contain our_alias
. Should it call hook of plugin offers when onion messages contain reply_path
and invoice_request
?
if (payload->our_alias)
plugin_hook_call_onion_message_ourpath(ld, payload);
else
plugin_hook_call_onion_message_blinded(ld, payload);
It's not yet merged but support for offers in eclair is ready. I've tried some basic interoperability tests and it worked fine, however as soon as I tried something more tricky I hit this issue. Offer has evolved a lot since this issue was created and the third point (Ensuring that payments are made via the routehints, not directly!) is now solved, however the first two points are still an issue. Regarding the transitory fake-id, I think we should use the blinded node id of the first path as was suggested some time ago, that way we can save some previous QR code space by dropping offer_node_id
which becomes redundant.
It's not yet merged but support for offers in eclair is ready. I've tried some basic interoperability tests and it worked fine, however as soon as I tried something more tricky I hit this issue. Offer has evolved a lot since this issue was created and the third point (Ensuring that payments are made via the routehints, not directly!) is now solved, however the first two points are still an issue. Regarding the transitory fake-id, I think we should use the blinded node id of the first path as was suggested some time ago, that way we can save some previous QR code space by dropping
offer_node_id
which becomes redundant.
Since this is live in Phoenix now and CLN not compatbile, could you give this a look again? @rustyrussell
It's your baby afterall and absolutely should be a CLN flagship feature 🧡