-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A workable way to retire old gossips throughout the network #10
Comments
This is not really true. When applying the And from the
|
There is also the |
The problem with this is, at least with current parameters, gossip continually circulates through other nodes so the
These are local again. The policy can, in fact, only retain topology information on nodes that have been recently contacted by this node. But would this diverge from the Poldercast algorithm into some unverified ad-hoc territory? Currently, with |
See Jormungandr 1690. Also, I don't know if this explains your observation @mzabaluev but until v0.11.1 and the inclusion of #8, setting |
Old unused gossips will be retired faster with Adding the timestamp to the gossip won't really help as this is: permission less protocol and there is no way to know if a timestamp is valid or not. In this context, only one node with bad intent could continuously propagate gossips with a recent timestamp (especially that we could not verify the information, unlike the case of the address field of the gossip). |
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.
The text was updated successfully, but these errors were encountered: