Skip to content

Commit 52a9b7c

Browse files
authored
Merge pull request #16 from AAU-Dat/zkargument
Zkargument
2 parents c4a0273 + e62d4d9 commit 52a9b7c

File tree

6 files changed

+152
-4
lines changed

6 files changed

+152
-4
lines changed

report/src/sections/03-background.tex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,7 @@ \subsection{Zero-knowledge proofs}\label{sec:background-zkps}
103103
Curdleproofs is a zero-knowledge proof system, which means that it allows a prover to convince a verifier that they know a secret without revealing the secret itself.
104104
within the context of Ethereum it could be the ability to convince someone that a transaction is valid without revealing information about the transaction such as the value of it.
105105

106+
\begin{definition}[Zero-Knowledge Argument of Knowledge]
107+
An argument $(Setup, P, V)$ is a zero-knowledge argument of knowledge of a relation $\mathbb{R}$ if it satisfies completeness, knowledge-soundness and is honest-verifier zero-knowledge.
108+
\end{definition}
106109

report/src/sections/04-Approach.tex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,10 @@ \subsection{CAAUrdleproofs}\label{subsec:approach-CAAUrdleproofs}
204204
The verifier now checks if these commitments match the commitments that he constructed in the recursive protocol.
205205
If so, the verifier accepts the proof.
206206

207+
\begin{theorem}
208+
CAAUrdleproofs is a zero-knowledge argument of knowledge when $\left|k\right|\geq8$
209+
\end{theorem}
210+
207211

208212
\subsection{Shuffle security}\label{subsec:approach-shuffle-security}
209213
The shuffle method proposed by Larsen et al.~\cite{cryptoeprint:2022/560} that was used in Curdleproofs is based on the idea of shuffling a list of proposers over a set of slots.

report/src/sections/aa-appendix.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33

44
% Main appendix file
55
% Insert appendix sections below
6-
\input{sections/appendix/01-appendix}
6+
\input{sections/appendix/01-appendix}
7+
\input{sections/appendix/02-thm1proof}
Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
11

2-
\section{Appendix}\label{sec:appendix}
3-
This is the appendix
2+
\section{Definitions of Zero-Knowledge Argument of Knowledge}\label{sec:appendix}
3+
\begin{definition}[Honest-Verifier Zero-Knowledge]
4+
An interactive argument $(Setup, P, V)$ for a relation $R$ is honest-verifier zero-knowledge, if there exists a
5+
probabilistic polynomial time simulator, such that there exists a negligible function $\epsilon(\lambda)$, for all adversaries $A_1$ and $A_2$
6+
7+
\begin{align*}
8+
\left| % Opening absolute value
9+
\begin{aligned} % Inner environment for the multi-line content within abs value
10+
& \Pr \left[ % Alignment point before Pr
11+
\begin{array}{c|l}
12+
(\mathbb{x},\mathbb{w}) \in \mathcal{R} \land & \sigma \leftarrow \text{Setup}(1^\lambda) \\
13+
\mathcal{A}_1(tr) = 1 & (\mathbb{x},\mathbb{w},\rho) \leftarrow \mathcal{A}_2(\sigma) \\
14+
& tr \leftarrow \text{SIM}(x,\rho)
15+
\end{array}
16+
\right] - \\ % End of first line inside aligned
17+
% Start of second line inside aligned
18+
& \Pr \left[ % Minus sign, then alignment point before Pr
19+
\begin{array}{c|l}
20+
(\mathbb{x},\mathbb{w}) \in \mathcal{R} \land & \sigma \leftarrow \text{Setup}(1^\lambda) \\
21+
\mathcal{A}_1(tr) = 1 & (\mathbb{x},\mathbb{w},\rho) \leftarrow \mathcal{A}_2(\sigma) \\
22+
& tr \leftarrow \langle \mathcal{P}(\sigma,\mathbb{x},\mathbb{w}), \mathcal{V}_\rho(\sigma,\mathbb{x}) \rangle
23+
\end{array}
24+
\right]
25+
\end{aligned}
26+
\right| % Closing absolute value
27+
\leq \epsilon(\lambda)
28+
\end{align*}
29+
\end{definition}
30+
31+
\begin{definition}[Non-Interactive Knowledge-Soundness]
32+
A non-interactive random oracle argument $(Setup, P, V)$ for relation $R$ is knowledge sound, if there exists an efficient knowledge extractor $\mathcal{E}$ and a positive polynomial $z$, such that for any statement $\mathbb{x}\in\{0,1\}^\lambda$ and prover $P^*$ with at most $Q$ queries to the random oracle \texttt{RO},
33+
34+
35+
\begin{align*}
36+
\Pr \left[ (\mathbb{x},\mathbb{w}') \in \mathcal{R} \;\middle|\;
37+
\begin{array}{@{}l@{}} % Using an array for the assignments to the right of the bar
38+
\sigma \leftarrow \text{Setup}(1^\lambda) \\
39+
\mathbb{w}' \leftarrow \mathcal{E}^{P^*}(x)
40+
\end{array}
41+
\right]
42+
\geq \frac{\epsilon(P^*, \mathbb{x}) - \kappa(|\mathbb{x}|, Q)}{z(|\mathbb{x}|)},
43+
\end{align*}
44+
\end{definition}
45+
46+
\begin{definition}[Completeness]
47+
An argument $(Setup, P, V)$ is complete, if for any statement $\mathbb{x}\in L$ and witness $\mathbb{w}$ such that $(\mathbb{x,w})\in R$, there exists a negligible function $\mu(\lambda)$, such that
48+
\begin{align*}
49+
\Pr\left[\langle P(\sigma,\mathbb{x},\mathbb{w}), V(\sigma,\mathbb{x})\rangle=1|\sigma\gets Setup(1^\lambda)\right]\geq 1-\mu(\lambda)
50+
\end{align*}
51+
\end{definition}
52+
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
2+
\section{Proof of Theorem 1}\label{sec:appendix-thm1proof}
3+
\begin{proof}
4+
CAAUrdleproofs is the Curdleproofs DL~\gls{ipa} on which the Springproofs protocol has been applied.
5+
So to help show that it is~\gls{hvzk}, we refer to Theorem 5 of Springproofs~\cite{zhang2024springproofs}.
6+
\begin{theorem}[Springproofs Theorem 5]
7+
Suppose IPA$_k$ is a~\gls{hvzk} IPA which reduces a relation $R_{zk,k}$ into a relation $R_{zk,k/2}$, and the blinding factors in the two relations distribute independently.
8+
Given a scheme function $f$, if the SIPA$_{\text{IPA}}(f)$ is terminative for any lengths $n$ of the witness vector, and there exists a polynomial $\texttt{poly}(\lambda)$ such that the number of rounds $m<\texttt{poly}(\lambda)$, then SIPA$_{\text{IPA}}(f)$ is~\gls{hvzk} when $n\geq2$.
9+
\end{theorem}
10+
Given this Theorem, we interpret $\text{IPA}_k$ as the Curdleproofs DL~\gls{ipa}.
11+
12+
In Theorem 5.3.1 of the Curdleproofs paper, they prove their~\gls{ipa} to be zero-knowledge~\cite{Curdleproofs}.
13+
They do this by help of a simulator and show that the prover's and simulator's response are distributed identically.
14+
This matches the definition of~\gls{hvzk} from Definition 2, hence the Curdleproofs~\gls{ipa} is~\gls{hvzk}.
15+
16+
We also know that the~\gls{ipa} is a folding argument, which reduces the size of the argument by half after each iteration.
17+
In this reduction, Curdleproofs also proved in Theorem 5.3.1 that the values $B_C,B_D,L_{C,j},L_{D,j},R_{C,j},R_{D,j}$ are blinded and identically distributed.
18+
19+
The scheme function used in CAAUrdleproofs, as seen in~\autoref{fig:fold}(b), is shown by Springproofs to be a variant of their pre-compression method~\cite{zhang2024springproofs}.
20+
Springproofs show this function to be optimal in the number of folding steps, hence it must also terminate.
21+
Specifically, the pre-compression is shown to run in $\lceil \log n\rceil$ folding rounds, satisfying the existence of the polynomial mentioned in Theorem 5.
22+
23+
Curdleproofs show their argument to be zero-knowledge in the random oracle model provided $|\mathbf{G}|\geq8$~\cite{Curdleproofs}.
24+
Therefore, following Theorem 1, CAAUrdleproofs must be~\gls{hvzk} when $n\geq8$
25+
26+
For soundness and completeness, we refer to Theorem 3 of Springproofs~\cite{zhang2024springproofs}.
27+
\begin{theorem}[Springproofs Theorem 3]
28+
Given a terminative SIPA$(f)$, if the number of compression steps in SIPA$(f)$ is $O(\log n)$, then SIPA$(f)$ is a complete and computational knowledge sound argument of relation (1).
29+
Moreover, the Fiat-Shamir transformation of SIPA$(f)$ is a non-interactive random oracle argument having completeness and computational knowledge soundness as well.
30+
\end{theorem}
31+
Here, relation (1) is
32+
\begin{align}
33+
\{(\mathbf{g},\mathbf{h}\in\mathbb{G}^n,u,P\in\mathbb{G};\mathbf{a},\mathbf{b}\in\mathbb{F}_p^n):P=\mathbf{g}^\mathbf{a}\mathbf{h}^\mathbf{b}u^{\langle \mathbf{a},\mathbf{b}\rangle}\}
34+
\end{align}
35+
or analogously for an additive cryptographic group:
36+
\begin{align}
37+
\{(&\mathbf{g},\mathbf{h}\in\mathbb{G}^n,u,P\in\mathbb{G};\mathbf{a},\mathbf{b}\in\mathbb{F}_p^n):\\
38+
&P=\mathbf{a}\times\mathbf{g}+\mathbf{b}\times\mathbf{h}+\langle \mathbf{a},\mathbf{b}\rangle u\}\label{al:P}
39+
\end{align}
40+
Relating that to Curdleproofs, they mention that they discuss the~\gls{ipa} for the relation
41+
\begin{align}
42+
\left\{
43+
\,(C,D,z;\,\mathbf{c},\mathbf{d})\;\middle|\;
44+
\begin{aligned}
45+
C &= \mathbf{c} \times \mathbf{G},\\
46+
D &= \mathbf{d} \times \mathbf{G'},\\
47+
z &= \mathbf{c} \times \mathbf{d}
48+
\end{aligned}
49+
\right\}
50+
\end{align}
51+
Though, taking inspiration from Bulletproofs, which also happens to be the~\gls{ipa} used in Springproofs, they include a commitment to the inner product, $z$, in commitment $C$~\cite{bunz2018bulletproofs}.
52+
So, before the addition of blinding values and challenges, the relation they want to prove is:
53+
\begin{align}
54+
\left\{
55+
\, \left(
56+
\begin{aligned}
57+
\mathbf{G},\mathbf{G'}\in\mathbb{G}^n,\\
58+
C,D\in\mathbb{G},\\
59+
z\in\mathbb{F}_p
60+
\end{aligned}
61+
\;\middle|\;
62+
\begin{aligned}
63+
\mathbf{c},\mathbf{d}\in\mathbb{F}^n_p
64+
\end{aligned}
65+
\right)\;\middle|\;
66+
\begin{aligned}
67+
C &= \mathbf{c} \times \mathbf{G}+zH,\\
68+
D &= \mathbf{d} \times \mathbf{G'},\\
69+
z &= \mathbf{c} \times \mathbf{d}
70+
\end{aligned}
71+
\right\}
72+
\end{align}
73+
We can now take a look at Springproofs' $P$ commitment in relation to Curdleproofs' $C$ and $D$ commitments.
74+
If we add together Curdleproofs' two commitment, we get:
75+
\begin{align}
76+
C+D=\mathbf{c} \times \mathbf{G}+\mathbf{d} \times \mathbf{G'}+zH
77+
\end{align}
78+
This exactly the same commitment as in~\autoref{al:P}.
79+
80+
Therefore, using Curdleproofs' DL~\gls{ipa} and the pre-compression scheme function, we can instantiate SIPA$(f)$, equivalent to CAAUrdleproofs, as a terminative SIPA$(f)$, with $O(\log n)$ compression steps.
81+
Hence, SIPA$(f)$ is a complete and computational knowledge sound argument of relation (1).
82+
We have just shown that Curdleproofs'~\gls{ipa} proves the same relation, so the properties hold for our SIPA$(f)$ as well.
83+
Furthermore, Curdleproofs uses the Fiat-Shamir transformation for its verifier challenges.
84+
So, the SIPA$(f)$, analogously CAAUrdleproofs, is a non-interactive random oracle argument having completeness and computational knowledge soundness as well.
85+
86+
From this, we can conclude that CAAUrdleproofs is a zero-knowledge argument of knowledge when shuffle size $|k|\geq8$.
87+
\end{proof}
88+
89+
90+

report/src/setup/acronyms.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@
2121
\newacronym{de-anon paper}{De-anonymizing Paper}{"Deanonymizing Ethereum Validators: The P2P Network Has a Privacy Issue"}
2222
\newacronym{mev}{MEV}{Maximal Extractable Value}
2323
\newacronym{ddh}{DDH}{Decisional Diffie-Hellman}
24-
\newacronym{ipa}{IPA}{Inner Product Argument}
24+
\newacronym{ipa}{IPA}{Inner Product Argument}
25+
\newacronym{hvzk}{HVZK}{Honest-Verifier Zero-Knowledge}

0 commit comments

Comments
 (0)