Skip to content

Commit

Permalink
Merge pull request #39 from AAU-Dat/background
Browse files Browse the repository at this point in the history
Background
  • Loading branch information
Maltesius authored Nov 27, 2024
2 parents 5e73164 + 2a7e91f commit cb95283
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 2 deletions.
12 changes: 11 additions & 1 deletion report/src/bib/main.bib
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,17 @@ @article{consensus-spec-phase-0
url = {https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md}
}

@misc{heimbach2024deanonymizingethereumvalidatorsp2p,
title={Deanonymizing Ethereum Validators: The P2P Network Has a Privacy Issue},
author={Lioba Heimbach and Yann Vonlanthen and Juan Villacis and Lucianna Kiffer and Roger Wattenhofer},
year={2024},
eprint={2409.04366},
archivePrefix={arXiv},
primaryClass={cs.CR},
url={https://arxiv.org/abs/2409.04366},
}
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},
Expand All @@ -258,4 +269,3 @@ @inproceedings{upgrading-ethereum-randomness
booktitle = {Upgrading Ethereum},
pages = {134–149}
}

31 changes: 30 additions & 1 deletion report/src/sections/02-background.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

\section{Background}\label{sec:background}
In this section, we will go through some of the concepts that will be used in the rest of the paper as well as some surrounding context like attacks performed.
In this section, we will go through some of the concepts that will be used in the rest of the paper as well as some surrounding context for the attack.

\subsection{Ethereum and Proof of Stake}\label{subsec:ethereum-and-proof-of-stake}
Ethereum is a blockchain platform that allows developers to create decentralized applications using smart contracts.
Expand All @@ -17,6 +17,17 @@ \subsection{Ethereum and Proof of Stake}\label{subsec:ethereum-and-proof-of-stak
If a fork happens the validators have to choose which fork to follow.
This is done by using the \gls{lmd-ghost} algorithm which chooses the fork with the greatest weight of attestations in its history~\cite{EthereumProof-of-stakePoS}.

\subsection{subnets}\label{subsec:subnets}
The Ethereum network is split up into smaller networks called subnets.
Being subscribed to a subnet is also be referred to as being backbone of a subnet.
These subnets are used to help with the scalability of the network.
The nodes in the network are split into total of 64 subnets and an additional subnet for attestation aggregates with each node being part of at least two subnets.
Within a subnet, nodes choose a subset of peers in the same subnet to share its messages with.
Choosing which notes are a part of this subset is done based on the peers performances.
Nodes send all messages they hear about within a subnet to these best-performing peers.
The peers a node can reach within the same subnet is called its fanout~\cite{heimbach2024deanonymizingethereumvalidatorsp2p}.



%\subsection{Zero-Knowledge Proofs}\label{subsec:zero-knowledge-proofs}
%A~\gls{zkp} is a cryptographic method that allows one party to prove to another party that something is true without revealing any information.
Expand Down Expand Up @@ -160,6 +171,24 @@ \subsection{ENR}\label{subsec:enr}
you would be able
to see the corresponding IP addresses and public keys of all the nodes that have been discovered by the node.


\subsection{other paper}\label{subsec:other-papers} \todo{new titel}
\todo{make acronym for the paper}
In the paper "Deanonymizing Ethereum Validators: The P2P Network Has a Privacy Issue" the authors show that it is possible to deanonymize validators on the Ethereum network by observing attestations and subscribing to subnets~\cite{heimbach2024deanonymizingethereumvalidatorsp2p}.
This paper is relevant to our work as it shows that it is possible to get information about the validators on the network.
This paper is also the main inspiration for our attack.
The paper takes advantage of the attestations, including information such as the IP of the sender node, and subnet setup to get information about the validators.
For their setup they use a custom version of a Prysm node called RAINBOW that subscribe to all subnets, and they use to log and color the information gathered.
This information consists of all attestations, their origin, and their origin subnet, all advertised static subscriptions of our peers and precise connection data for all nodes we interact with.
To help speed up the discovery of the peers they also used a crawler to more quickly find the peers using the discovery protocol and the peer tables.
In their execution of their experiment they set up four nodes spread out across four different geographical locations.
They then let the nodes run for three days and managed to deanonymize 235,719 validators and reached out to 11,219 peers.
These peers were also divided into 4 categories based on their heuristic.
Those being deanonymized where they located validators on the machine with the heuristic conditions being upheld, No validators where they did not receive a single non-backbone attestation received from the peer, and so they assume that there are no validators on the peer, 64 subnets where they never receive a non-backbone attestation from the peer which makes it impossible to deanonymize the validators and the rest where they got at least one non-backbone attestation but where not able to locate any validators on the peer.




\subsection{Proposer DoS Attack}\label{subsec:proposer-dos-attack}
In this subsection, we will be describing the attack that we will be using as a basis for our experiment in ~\autoref{sec:experimental-protocol}.
The attack is a~\gls{dos} attack that aims at hitting the proposers selected for creating blocks in the chain.
Expand Down

0 comments on commit cb95283

Please sign in to comment.