IntersectMBO / IntersectMBO/ouroboros-network

Preferred peers for syncing

Open
#5,318 0 comments 0 reactions 0 assignees View on GitHub
enhancement outbound-governor
Dominant language
Haskell
Stars
296
Forks
104
Avg merge
2d 10h
Merged PRs (30d)
4

Description

Working on a way to speed up syncing in Genesis mode, it would be nice to have a way to declare, optionally, in the topology file one or more peers which are to be preferred for syncing. This could be, for example, a key `preferredSyncPeers` which, if present, would be mapped to a list of values like those in `accessPoints` of `localRootPeers`.

Such a peer _preferred for syncing_ should behave like a `localRootPeers` entity _during sync_ in the sense that the syncing node aims to maintain a hot connection with it. Through discussion with @nfrisby , we concluded that any connection with such a peer during a sync should additionally have the following properties:
- __back-off__ of the time interval between reconnect attempts (should the connection between the syncing node and the preferred peer be dropped) so that if the preferred peer is advertising a chain that's being refuted by other peers, the resource waste by the syncing node will be diminishingly severe.
- __forgetfulness__ of the connection with the peer preferred for syncing. _Unlike_ a connection with a local root peer, a connection with a peer preferred for syncing should be _forgotten_ (dropped, with no reconnect attempt) once the node's state switches from syncing to caught-up.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.