ouroboros-network
ouroboros-network copied to clipboard
Draft "registration logic" for ChainSync Jumping
The ChainSync Jumping optimization requires some sort of centralized (across all ChainSync clients) governor logic in order to
- pick the "dynamo" (the peer among the non-ledger peers which engages in the full ChainSync protocol) in the happy path while syncing, and
- decide on proactivity of other peers in either the sad path, or when caught up.
This introduces extra complexity, so care should be taken to determine which parts can essentially be communicated by simpler methods. Also, the BlockFetch decision logic can serve as a point of reference.