Skip to content

Commit

Permalink
Merge branch 'background' of https://github.com/AAU-Dat/P9-ZKP into b…
Browse files Browse the repository at this point in the history
…ackground
  • Loading branch information
ironmand123 committed Nov 27, 2024
2 parents 44fa076 + 63ec58b commit 2a7e91f
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
Binary file modified main.pdf
Binary file not shown.
18 changes: 17 additions & 1 deletion report/src/bib/main.bib
Original file line number Diff line number Diff line change
Expand Up @@ -252,4 +252,20 @@ @misc{heimbach2024deanonymizingethereumvalidatorsp2p
primaryClass={cs.CR},
url={https://arxiv.org/abs/2409.04366},
}
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md
@article{random-selection,
title = {Random Selection},
author = {@corwintines and @pettinarip and @nhsz and @nalepae},
note = {Accessed: 21-11-2024},
url = {https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/block-proposal/#random-selection}
}

@inproceedings{upgrading-ethereum-randomness,
author = {Edgington, Ben},
title = {Randomness},
year = {2023},
url = {https://eth2book.info/capella/book.pdf},
booktitle = {Upgrading Ethereum},
pages = {134–149}
}
18 changes: 18 additions & 0 deletions report/src/sections/02-background.tex
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,24 @@ \subsubsection{Validator punishments}\label{subsubsec:valpunish}
At worst, a validator can end up having all their ETH burned, if enough other validators are also slashed.

\subsection{RANDAO}\label{subsec:randao}
As mentioned in~\autoref{subsec:validator}, the validators are chosen to propose a block by a random-number-generator called RANDAO\footnote{\href{https://github.com/randao/randao}{RANDAO - GitHub}}.
The random selection is decided by the RANDAO algorithm, which is used every slot.
Each chosen proposer will get the RANDAO value computed at the previous slot and \texttt{XOR} it with the hash of their private key and epoch number.


This creates what is called the RANDAO reveal.
It can be verified with the proposer's public key.
This, of course, happens at all 32 slots of an epoch, making up the randomness of the reveal.
At the end of each epoch, the latest reveal constitutes to the seed, which is used to determine who the next proposers are going to be.


Being chosen as a block proposer comes with some duties, such as creating the block.
This means that they need to know in advance if they are going to be the proposer of a block.

The proposer selection among the validators is done two epochs in advance~\cite{random-selection}.
More specifically, the selection for epoch $n+2$ happens at the end of epoch $n$~\cite{upgrading-ethereum-randomness}.
This means that a validator knows at least one epoch, at most two epochs, in advance if they are proposing a block.


\subsection{ENR}\label{subsec:enr}
A~\gls{enr} is a record that contains information about a node in the network~\cite{EIP-778:Ethereum-Node-Records}.
Expand Down

0 comments on commit 2a7e91f

Please sign in to comment.