blip-0037: Bolt 12 encoded wallet node_id#37
Conversation
[Bolt 12](lightning/bolts#798) introduces a new `sciddir_or_pubkey` field that can be used to identify the introduction node of a blinded path. This is primarily used to reduce the size of encoded offers, but this encoding trick can be extended to carry more information about the node it's referencing. We introduce an additional prefix to this field to tag `node_id`s that belong to mobile wallets. When relaying a payment or an onion message, wallet providers usually want to offer additional features to mobile wallets. Encoding the information that the next node is a mobile wallet directly inside the onion payload makes it easy for the relaying node to efficiently insert additional steps before relaying (such as trying to wake-up the wallet if it is offline) without negatively impacting relay to normal nodes.
TheBlueMatt
left a comment
There was a problem hiding this comment.
It seems weird that we add an encoding for the introduction node in a bLIP? Maybe I'm misunderstanding something but don't all nodes need to support reading such nodes in order to send to offers generated with such introductions?
This isn't used for the introduction node, we're only using this in I could probably add a requirement to explain that you MUST NOT use this new encoding case ( |
Ah, okay, that's what I thought, that makes more sense. Was just confused by the wording! |
Bolt 12 introduces a new
sciddir_or_pubkeyfield that can be used to identify the introduction node of a blinded path. This is primarily used to reduce the size of encoded offers, but this encoding trick can be extended to carry more information about the node it's referencing. We introduce an additional prefix to this field to tagnode_ids that belong to mobile wallets.When relaying a payment or an onion message, wallet providers usually want to offer additional features to mobile wallets. Encoding the information that the next node is a mobile wallet directly inside the onion payload makes it easy for the relaying node to efficiently insert additional steps before relaying (such as trying to wake-up the wallet if it is offline) without negatively impacting relay to normal nodes.