diff --git a/04-onion-routing.md b/04-onion-routing.md index 2d360d356..e35cc7f0b 100644 --- a/04-onion-routing.md +++ b/04-onion-routing.md @@ -1114,6 +1114,15 @@ An _intermediate hop_ MUST NOT, but the _final node_: - if the `amt_to_forward` does NOT correspond with the `incoming_htlc_amt` from the final node's HTLC: - MUST return a `final_incorrect_htlc_amount` error. + - if it returns a `channel_update`: + - MUST set `short_channel_id` to the `short_channel_id` used by the incoming onion. + +### Rationale + +In the case of multiple short_channel_id aliases, the `channel_update` +`short_channel_id` should refer to the one the original sender is +expecting, to both avoid confusion and to avoid leaking information +about other aliases (or the real location of the channel UTXO). ## Receiving Failure Codes diff --git a/07-routing-gossip.md b/07-routing-gossip.md index d89287e8e..5aa3f5dad 100644 --- a/07-routing-gossip.md +++ b/07-routing-gossip.md @@ -449,6 +449,8 @@ The origin node: - MAY create a `channel_update` to communicate the channel parameters to the channel peer, even though the channel has not yet been announced (i.e. the `announce_channel` bit was not set). + - MUST set the `short_channel_id` to either an `alias` it has + received from the peer, or the real channel `short_channel_id`. - MUST NOT forward such a `channel_update` to other peers, for privacy reasons. - Note: such a `channel_update`, one not preceded by a