Fix Bank accounts hash mismatch related to Clock::unix_timestamp (#13477)
* Test for different ancestors with mismatch bank hash * Test cleanup * Remove nondeterministic ancestor check * Update timestamp bounding feature key * Update design doc * Filter recent_timestamps to nodes voting within the last epoch Co-authored-by: Stephen Akridge <sakridge@gmail.com>
This commit is contained in:
@ -36,10 +36,8 @@ correction.
|
||||
In order to calculate the estimated timestamp for a particular Bank, the runtime
|
||||
first needs to get the most recent vote timestamps from the active validator
|
||||
set. The `Bank::vote_accounts()` method provides the vote accounts state, and
|
||||
these can be filtered to all accounts whose most recent timestamp is for an
|
||||
ancestor slot back to the current root. This should guarantee 2/3+ of the
|
||||
current cluster stake is represented, since by definition, roots must be
|
||||
confirmed by 2/3+ stake.
|
||||
these can be filtered to all accounts whose most recent timestamp was provided
|
||||
within the last epoch.
|
||||
|
||||
From each vote timestamp, an estimate for the current Bank is calculated using
|
||||
the epoch's target ns_per_slot for any delta between the Bank slot and the
|
||||
|
Reference in New Issue
Block a user