Keep trying to form a new shared random value during the next commit phase
Currently, the shared random system treats the first vote of the next commit phase specially - it's the only time it tries to agree on a new shared random value.
But we can try to agree 12 times on a new shared random value like this:
- for the first consensus in the new commit period:
- vote the calculated shared random value;
- for subsequent consensuses in the new commit period:
- if we have an agreed shared random value from a trusted, previous consensus in the period, vote that value;
- if not, (if the new shared random value is missing from the consensus, or there is no trusted consensus), continue to vote our calculated value.
This way, we try up to 12 times to agree on a shared random value. (But we never change an agreed value after we've agreed on it.)