pub trait ClockAccuracy { }Expand description
Assumption (Clock accuracy). Correct validators’ clocks
(linera_storage::Clock::current_time) advance in real time and agree within a bound small
compared to the round timeout.
Two places consume this. A validator refuses to sign a timeout vote before its own
round_timeout has passed (TimeoutVoteConditions), so a quorum’s clocks must
approximately agree for a timeout certificate to form at all. And a validator rejects a
proposal whose timestamp is further in the future than
ChainWorkerConfig::block_time_grace_period with WorkerError::InvalidTimestamp, so a
leader whose clock runs fast cannot get its blocks accepted. The client reports the latter
back: Client::submit_block_proposal warns once a
validity_threshold of
validators have reported skew.