Description
Signed edges include a timestamp indicating when they were signed. Edges expire after some time (default 30 min) and need to be periodically refreshed.
We currently have a request/response mechanism to refresh edge nonces:
nearcore/chain/network/src/peer/peer_actor.rs
Lines 753 to 778 in 06aebc3
This mechanism is sufficient for our old (V1) routing protocol, in which the basic unit of information shared is a single edge.
In the V2 routing protocol, the basic unit of information is a spanning tree of edges. Trees are expired when the oldest timestamp among their constituent edges reaches expiry, but updated trees are currently shared only in response to network events. No time-based mechanism exists to request/respond updated distance vectors.
As we deprecate the V1 protocol, we should think carefully about how the V2 protocol interacts with edge timestamps and rework things accordingly.