Skip to content

Commit 1527932

Browse files
authored
Merge pull request #28 from AAU-Dat/Related-work
Related work
2 parents 253b569 + 4a05e5d commit 1527932

File tree

3 files changed

+41
-21
lines changed

3 files changed

+41
-21
lines changed

report/src/bib/main.bib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,4 +223,4 @@ @inproceedings{10.1007/978-3-030-03332-3_15
223223
numpages = {33},
224224
keywords = {Post-quantum cryptography, Class-group action, Isogeny-based cryptography, Non-interactive key exchange, Key confirmation},
225225
location = {Brisbane, QLD, Australia}
226-
}
226+
}

report/src/sections/06-results.tex

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ \subsection{Proving and Verifying Times}\label{subsec:results:provingverifying}
1212
\label{fig:resulttimes}%
1313
\end{figure*}
1414

15-
As mentioned in \autoref{sec:CAAUrdleproof-experiment}, CAAUrdleproofs was run with a shuffle size $\ell$ of $\{8,9,\dots,256\}$.
16-
Curdleproofs was only run with a shuffle size $\ell$ of $\{8,16,32,64,128,256\}$, as it is only able to run in powers of 2.
15+
As mentioned in \autoref{sec:CAAUrdleproof-experiment}, CAAUrdleproofs was run with a shuffle size $\ell=\{8,9,\dots,256\}$.
16+
Curdleproofs was only run with a shuffle size $\ell = 2^N$ of $N = \{3,4,5,6,7,8\}$, as it is only able to run in powers of 2.
1717
This is why the results for Curdleproofs show the shuffle size,~$\ell$, instantly going up to the next power of 2, because it theoretically would have to pad the input set until it reached the next power of 2.
1818

1919
From the results, we can see that CAAUrdleproofs and Curdleproofs have similar proving and verifying times when~$\ell$ is a power of 2.
@@ -33,17 +33,25 @@ \subsection{Shuffle security}\label{subsec:Shuffle-security}
3333

3434
\begin{figure*}[!htb]
3535
\centering
36-
\subfloat[\centering]{{\includegraphics[width=0.45\textwidth]{figures/results/4096-256-p2} }}%
37-
\qquad
38-
\subfloat[\centering]{{\includegraphics[width=0.45\textwidth]{figures/results/5462-256-p2} }}%
39-
\subfloat[\centering]{{\includegraphics[width=0.45\textwidth]{figures/results/8192-256-p2} }}%
36+
\subfloat[\centering]{{\includegraphics[width=0.32\textwidth]{figures/results/4096-256-p2} }}%
37+
\subfloat[\centering]{{\includegraphics[width=0.32\textwidth]{figures/results/5462-256-p2} }}%
38+
\subfloat[\centering]{{\includegraphics[width=0.32\textwidth]{figures/results/8192-256-p2} }}%
4039
\caption{The results of the shuffle security experiment showing the mean amount of honest shuffles necessary with one standard deviation}%
4140
\label{fig:shufflesecurity}%
4241
\end{figure*}
4342

43+
\begin{figure*}[!htb]
44+
\centering
45+
\subfloat[\centering]{{\includegraphics[width=0.32\textwidth]{figures/results/violin-4096} }}%
46+
\subfloat[\centering]{{\includegraphics[width=0.32\textwidth]{figures/results/violin-5462} }}%
47+
\subfloat[\centering]{{\includegraphics[width=0.32\textwidth]{figures/results/violin-8192} }}%
48+
\caption{The results of the shuffle security experiment showing the spread of nessecary shuffle need for the shuffle to be secure}%
49+
\label{fig:shufflesecurityviolin}%
50+
\end{figure*}
51+
4452
The results of the shuffle security experiment are shown in \autoref{fig:shufflesecurity}.
4553

46-
\autoref{fig:shufflesecurity} shows the mean of the 1000 runs of each shuffle size $\ell$ as well as one standard deviation higher and lower.
54+
\autoref{fig:shufflesecurity} shows the mean of the 1000 runs of each shuffle size $\ell$ and the standard deviation.
4755

4856
We can see that the bigger the shuffle size $\ell$ is, the less honest shuffles are necessary to make the shuffle secure.
4957
In Ethereum, each shuffling phase is limited to 8192 shuffles, meaning that the maximum number of honest shuffles that can be used is 8192.
@@ -64,19 +72,14 @@ \subsection{Shuffle security}\label{subsec:Shuffle-security}
6472
Another thing that differs between the experiments is that they all have a sudden dip in higher $\ell$ values in the experiment.
6573
Here we see a trend that the lower the~$\alpha$ is, the earlier the dip happens.
6674

67-
\begin{figure*}[!htb]
68-
\centering
69-
\subfloat[\centering]{{\includegraphics[width=0.45\textwidth]{figures/results/violin-4096} }}%
70-
\qquad
71-
\subfloat[\centering]{{\includegraphics[width=0.45\textwidth]{figures/results/violin-5462} }}%
72-
\subfloat[\centering]{{\includegraphics[width=0.45\textwidth]{figures/results/violin-8192} }}%
73-
\caption{The results of the shuffle security experiment showing the spread of nessecary shuffle need for the shuffle to be secure}%
74-
\label{fig:shufflesecurityviolin}%
75-
\end{figure*}
75+
7676

7777
The results in \autoref{fig:shufflesecurityviolin} show that for all three $\alpha$ values, the spread of the necessary honest shuffles tightens the larger the shuffle size $\ell$ gets.
7878
Like the results in \autoref{fig:shufflesecurity}, \autoref{fig:shufflesecurityviolin} also shows that the bigger a shuffle size $\ell$, the less honest shuffles on average are necessary to make the shuffle secure.
7979

80+
We can also see that the widest point of the violin plot is below the mean.
81+
This means that the outliers are a lot more significant above the mean than below it.
82+
8083
It is worth noting that there is a spike in the distribution of the necessary honest shuffles at $\ell=32$ for $\alpha=4096$.
8184
This spike is not present for the other two $\alpha$ values, and is due to the probabilistic nature of the shuffling method.
8285

report/src/sections/07-discussion.tex

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,27 @@ \subsection{CAAUrdleproofs in comparison to Curdleproofs}\label{subsec:CAAUrdlep
3838

3939
\subsection{Shuffle Security}\label{subsec:Discution-Shuffle-security}
4040
When looking at the results of the shuffle security experiment in \autoref{fig:shufflesecurity} and \autoref{fig:shufflesecurityviolin}, we can see that when taking into account the standard deviation, the shuffle can still be secure with an~$\ell$ as low as 32 within the 8192 shuffles available.
41-
Even when taking into account the worst case scenario from our experiment, the shuffle will still be secure with an~$\ell$ as low as 42 within the 8192 shuffles available.
42-
43-
We would however not recommend using an~$\ell$ lower than 80, as the worst case scenario uses a little under half the available shuffles, and you would only need one third to get within the standard deviation.
44-
This would still lead to the size of the block overhead and the speed of the protocol being significantly reduced.
41+
Even when taking into account the worst case scenario from our experiment, the shuffle will still be secure with an~$\ell$ as low as 42 within the 8192 shuffles available with an $\alpha$ of 8192.
4542

43+
We would however not recommend using an~$\ell$ lower than 80, as here the worst case scenario needs a little under half the available shuffles to be honest in order to be secure.
44+
As seen in~\autoref{fig:shufflesecurity} you would also only need a third of the 8192 shuffles to be honest to get within the one standard deviation.
45+
This would still lead to a reduction of the proving time of 62.69ms, which is 74.25\% of the current Curdleproofs time and a reduction in the verifying time of 0.89ms, which is 96.11\% of the current Curdleproofs time.
46+
It would also reduce the size of the block overhead from 16.656KB to 12.048KB.
47+
Only 72.33\% of the currently calculated size for Curdleproofs.
48+
This would result in saving $\sim 12.11GB$ of space on the blockchain each year.
49+
Some other things to keep in mind when deciding on how many honest shuffles should be necessary to make the shuffle secure is that there are other factors that can affect the security of the blockchain.
50+
One of such factors is some of the know attacks that takes advantage of controlling a large number of validators.
51+
Attacks like the $>-50\%$ stake attack and the $33\%$ finality attack~\cite{EthereumAttackDefense2024} takes advantage of controlling a large number of validators in order to negatively effect the blockchain system.
52+
Because of attacks like these, which rely on controlling a large number of validators, we would recommend that when evaluating how many honest shuffles should be necessary to make the shuffle secure, one should also take into account how many honest validators are necessary to make the blockchain secure.
4653

54+
Another thing to keep in mind is that within the Ethereum system not every validator is owned by a different person.
55+
Some nodes contain multiple validators, and this means that during the shuffling phase, when selecting the 16384 possible proposers, there is a chance that a single node controls multiple of the chosen validators.
56+
This is also possible during the selecting of the shufflers.
4757

58+
From the results we see that the mean starts higher and ends lower for the experiments with a higher $\alpha$.
59+
One of the reasons for this could be the relationship between the number of adversarial tracked cups and the threshold necessary before the shuffle is secure.
60+
Since the threshold is $2/(n-\alpha)$, the higher $\alpha$ is, the higher the threshold for the amount of water allowed in any cup.
61+
Therefore, the higher $\alpha$ is, the harder it is to get the water divided into the honest cups.
62+
The reason being, that the distribution only happens in honest cups.
63+
More adversarial cups means less honest cups to distribute the water into.
64+
Hence, there potentially is a higher amount of water in the chosen cups after a shuffle when $\alpha$ is higher.

0 commit comments

Comments
 (0)