title |
---|
-chap-num- Consensus |
import Pseudocode from '@site/src/components/Pseudocode'; import epochRandomness from '!!raw-loader!@site/src/algorithms/epochRandomness.tex';
The Runtime is required to provide the BABE authority list and randomness to the host via a consensus message in the header of the first block of each epoch.
The digest published in Epoch ${\mathcal{{{E}}}}{{n}}$ is enacted in ${\mathcal{{{E}}}}{{{n}+{1}}}$. The randomness in this digest is computed based on all the VRF outputs up to including Epoch ${\mathcal{{{E}}}}{{{n}-{2}}}$ while the authority set is based on all transaction included up to Epoch ${\mathcal{{{E}}}}{{{n}-{1}}}$.
The computation of the randomness seed is described in Epoch-Randomness, which uses the concept of epoch subchain as described in host specification and the value ${d}{{B}}$, which is the VRF output computed for slot ${s}{{B}}$.
:::algorithm <Pseudocode content={epochRandomness} algID="epochRandomness" options={{ "lineNumber": true }} />
where