ZmnSCPxj [ARCHIVE] on Nostr: ๐
Original date posted:2018-02-20 ๐ Original message: Good morning Rusty, ...
๐
Original date posted:2018-02-20
๐ Original message:
Good morning Rusty,
โ>4. query_short_channel_id
> =========================
>
>
>5. type: 260 (query_short_channel_id)
>
>6. data:
> - [32:chain_hash]
>
> - [8:short_channel_id]
>
> This is general mechanism which lets you query for a
> channel_announcement and channel_updates for a specific 8-byte shortid.
> The receiver should respond with a channel_announce and the latest
> channel_update for each end, not batched in the normal 60-second gossip
> cycle.
>
> A node MAY send this if it receives a channel_update for a channel it
> has no channel_announcement, but SHOULD NOT if the channel referred to
> is not an unspent output (ie. check that it's not closed before sending
> this query!).
Is the SHOULD NOT something the sender can assure? In the case that the sender is a lightweight Bitcoin node, and does not keep track of a mempool, and only notices closes if they have been confirmed onchain, it may be possible that the sender thinks the channel is still possibly open, while the receiver is a full Bitcoin node and has seen the closing transaction of the channel on the mempool. There are also race conditions where the sender has not received a new block yet, then sends the message, and the receiver receives/processes the message after it has received a new block containing the closing transaction.
Perhaps there should also be a possible reply to this message which indicates "short_channel_id so-and-so was closed by txid so-and-so".
Or maybe receivers should not rely on this "SHOULD NOT" and will have to silently ignore `query_short_channel_id` that it thinks is closed; this also implies that the sender cannot rely on getting information on the specified channel from anyone, either.
Regards,
ZmnSCPxj
Published at
2023-06-09 12:48:55Event JSON
{
"id": "4de931861fe7836e87ba888f73834ac2549cb4705d2a88a0e075eca6e15292cc",
"pubkey": "4505072744a9d3e490af9262bfe38e6ee5338a77177b565b6b37730b63a7b861",
"created_at": 1686314935,
"kind": 1,
"tags": [
[
"e",
"c3f2627a28f3f44c130da7dce36c10040222ba86792d87bfb3e3dcd970958ae9",
"",
"root"
],
[
"e",
"21d73168fe8431c240e4aaa16d79a741727531f7a15138a8dd1105bbd322c099",
"",
"reply"
],
[
"p",
"13bd8c1c5e3b3508a07c92598647160b11ab0deef4c452098e223e443c1ca425"
]
],
"content": "๐
Original date posted:2018-02-20\n๐ Original message:\nGood morning Rusty,\n\nโ\u003e4. query_short_channel_id\n\u003e =========================\n\u003e\n\u003e\n\u003e5. type: 260 (query_short_channel_id)\n\u003e\n\u003e6. data: \n\u003e - [32:chain_hash]\n\u003e\n\u003e - [8:short_channel_id]\n\u003e\n\u003e This is general mechanism which lets you query for a\n\u003e channel_announcement and channel_updates for a specific 8-byte shortid.\n\u003e The receiver should respond with a channel_announce and the latest\n\u003e channel_update for each end, not batched in the normal 60-second gossip\n\u003e cycle.\n\u003e\n\u003e A node MAY send this if it receives a channel_update for a channel it\n\u003e has no channel_announcement, but SHOULD NOT if the channel referred to\n\u003e is not an unspent output (ie. check that it's not closed before sending\n\u003e this query!).\n\nIs the SHOULD NOT something the sender can assure? In the case that the sender is a lightweight Bitcoin node, and does not keep track of a mempool, and only notices closes if they have been confirmed onchain, it may be possible that the sender thinks the channel is still possibly open, while the receiver is a full Bitcoin node and has seen the closing transaction of the channel on the mempool. There are also race conditions where the sender has not received a new block yet, then sends the message, and the receiver receives/processes the message after it has received a new block containing the closing transaction.\n\nPerhaps there should also be a possible reply to this message which indicates \"short_channel_id so-and-so was closed by txid so-and-so\".\n\nOr maybe receivers should not rely on this \"SHOULD NOT\" and will have to silently ignore `query_short_channel_id` that it thinks is closed; this also implies that the sender cannot rely on getting information on the specified channel from anyone, either.\n\nRegards,\nZmnSCPxj",
"sig": "6d0f8d47bceecbac00fb9768fd615e463ef4af63941ced473fe56b580b6c78a7df91426d793e54b6c31bfa41dd18d0fb421b91eb1629160b190a56e72c57d2c4"
}