snarkOS
snarkOS copied to clipboard
Update fetch timeouts as a factor of committee size
Motivation
This PR updates the MAX_FETCH_TIMEOUT_IN_MS to a dynamic timeout based on the number of validators in the committee set.
The proposed formula for the fetch timeout is BASE_FETCH_TIMEOUT_IN_MS + Xms per validator in the committee set with a maximum of 30 seconds. This X is currently set to 200ms, but can be adjusted based on need.
The BASE_FETCH_TIMEOUT_IN_MS is the original MAX_FETCH_TIMEOUT_IN_MS from before the change, so some example values for timeouts would be:
10 validators => 200 * 10 + 7500 = 9500ms 50 validators => 200 * 50 + 7500 = 17500ms 100 validators => 200 * 100 + 7500 = 27500ms 113+ validators => 30000ms
Related PRs
Based on https://github.com/AleoHQ/snarkOS/pull/3135