Skip to content

A workable way to retire old gossips throughout the network #10

Description

@mzabaluev

Currently, it's not feasible to implement a forgetful policy that would reliably retire obsolete gossips circulating on the network. The gossip profile items lack timestamps, so the only way for a node to check if gossip is outdated is to try to connect to a node. The connection attempts are only performed on a subset of nodes, that may be smaller than the average number of unique gossips that the node receives during the time window needed for the quarantine policy to decide to forget about the bad node. The network-wide effect is that old gossips live indefinitely, bloating the topology sets to impractical sizes.

A simple solution is to add timestamps to gossip items. The timestamp for a node profile is only updated by the node whenever it sends gossip about itself. Other (faithful) nodes pass the timestamps unchanged on the gossip items they forward.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions