Open
Description
Known?
- The gossip CRDS (Cluster Replicated Data Store) is huge
- Egress traffic is still signfiicant (50Mbps) which makes deploying in cloud expensive
- The light gossip client should not need to process nearly as much as it does (sigverify on ingress on all packets)
Guesses
- Validators (voting or non-voting) do not need all peer information for non-voting validators
- All peers do need bare minimum information needed for downloading snapshots
- Non-voting validators likely should not push nearly as much CRDS data as they currently do
- The gossip stack is doing sigverify on frames it will throw away later anyway
- The light gossip client does not need to transmit as much gossip traffic as it does
- It may be necessary for all gossip participants to process all CRDS updates if that is a requirement for propagation.
Solutions
- Is there a way to prune all unneeded CRDS updates as they are received, before sigverify?
- Is there a much smaller set of CRDS updates that non-voting validators (including the light weight gossip client) should be pushing?
Scope
What changes can be done locally w/o any upstream anza-xyz/agave
changes?
What changes can be done locally but only by forking anza-xyz/agave
?
What changes require upstream changes to anza-xyz/agave
directly?