Onion messages v1 ()
https://github.com/lightningdevkit/rust-lightning/pull/1503
Host: ariard -
The PR branch HEAD was cd06d2d at the time of this review club meeting.
Notes
- In current Lightning, the invoice protocol for payment request is communicated out-of-band.
- An upgrade of the payment protocol called offers has been proposed to enable new features : static invoices, refunds and proof of payer.
- Offers leverages few components such as Schnorr sigs and the onion format used to route HTLC.
- #1503 introduces a new module
OnionMessenger
to receive and send onion messages, with an API matching the already existentChannelManager
. The API design discussions already happened with #1432.
Questions
1) How the current onion format for HTLC payment works ? What the hop_payloads
represent ?
2) How the construction of the new onion format OnionPacket
differs ? What’s the relationship with BlindedRoute
, “control” TLVs and “data” TLVs ?
3) The blinded route mechanism claims to hide the identity of the recipient. How it achieves ? Are they privacy leaks or deanonymization attacks ?
4) What offers offer as features and new payments flows ? How does it compare to LN-url ?
5) What could be efficient rate-limitations for onion messages ?
6) What could be future use-case of CustomHandler
and CustomMessage<T>
?