Skip to content

Inconsistent behavior around graph dump on gossip_timestamp_filter. #980

Open
@TheBlueMatt

Description

@TheBlueMatt

In conversation with @t-bast at lightningdevkit/rust-lightning#1382 (comment), we recently discovered that (at least) CLN and eclair treat gossip_timestamp_filter messages differently.

Ultimately it comes down to the spec having this to say:

The receiver:
SHOULD send all gossip messages whose timestamp is greater or equal to first_timestamp, and less than first_timestamp plus timestamp_range.
MAY wait for the next outgoing gossip flush to send these.

which seems to say that when you get a gossip_timestamp_filter you've gotta go do a graph dump at the peer, ala initial-graph-sync. But this is somewhat confusing in that...what's the point of all the gossip queries if we just end up receiving a dump of gossip from the peer anyway (assuming you set the filter to two-weeks-ago to ensure you don't miss updates)?

It seems at least CLN does give you a graph dump, t-bast indicated eclair does not, and I'm not sure about lnd.

Of course at this point I figure we probably all want to just deprecate the gossip sync stuff in favor of something minisketch-based, but it'd be nice to get consistency here in the short-term. At least personally, I'd suggest we keep it as-is and do a graph dump when receiving a timestamp filter message, allowing us to "implement" gossip queries without bothering with the actual queries at all :).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions