Paper TLDR Project
$$ \def\field{\mathbb{F}} \def\ZZ{\mathbb{Z}} \def\eq{\text{eq}} \def\enc{\text{Enc}} \def\com{\text{Com}} \def\ring{\mathcal{R}} \def\distro{\mathcal{D}} \def\dist{\Delta} \def\bc{\pmb{c}} \def\be{\pmb{e}} \def\bm{\pmb{m}} \def\br{\pmb{r}} \def\bt{\pmb{t}} \def\bu{\pmb{u}} \def\bv{\pmb{v}} \def\bw{\pmb{w}} \def\bx{\pmb{x}} \def\by{\pmb{y}} \def\bz{\pmb{z}} \def\zo{{0,1}} \def\eq{{\rm eq}} \def\calR{\mathcal{R}} \def\calS{\mathcal{S}} \def\eps{\varepsilon} \def\expect{\mathop{\mathbb{E}}} \def\trace{\mathsf{Tr}} \def\list{\mathsf{List}} \def\event{\mathcal{E}} $$
This project serves as intermediate indices to my memory of paper reading and notes.
It also serves as a humble mimic to Oded’s choices, or my investment portfolio - I believe my preference in research is better than my investment.
[Seen 2023/11 for Spartan line of work to zkVMs and folding schemes]
To bridge R1CS with sum-check protocol, Setty et al. encoded R1CS with low-degree extension (LDE) into multi-linear polynomials. The Spartan NIZK version requires the verifier to evaluate encoded R1CS polynomials over random points, thus they applied polynomial commitments to make the prover to compute the evaluation point for verifier. R1CS matrices are sparse, i.e., the matrix can be $\field^{m \times m}$ with $n = O(m)$ non-zero entries. They showed a gradual transform in prover complexity: The hardest part to comprehend (for me) is the memory checking circuit for $\tilde{M}(\pmb{r_x},\pmb{r_y})$ on Section 7 for SPARK compiler that converts a poly commitment into one that handles sparse multi-linear poly commitment.Spartan: Efficient and general-purpose zkSNARKs without trusted setup
The motivation is that: vanilla R1CS relation does not allow for merging 2 statement-witness pairs into one, and naive construction of IVC is far from practical to be used. The previous R1CS relation is $(A, B, C \in \field^{m \times m}, \bz \in \field^m)$ where $\bz = 1 \parallel \bz \parallel {w} \in \field^m$, such that $(A \bz) \circ (B \bz) = C\bz$. To make the relation foldable, we should introduce relaxation terms $u \in \field$ and $\be \in \field^m$, such that $(A \cdot (\bz_1 + r \bz_2)) \circ (B \cdot (\bz_1 + r \bz_2)) = u \cdot C \cdot (\bz_1 + r \bz_2) + \be$. To make use of folding scheme, or non-interactive folding scheme (NIFS) in IVC, we want to let the circuit to fold 2 R1CS statement into 1: Series connection of folding components into an IVC, while at each step a NIFS prover will keep track of the relaxation terms and IVC proof, which is the R1CS witness. To compress the IVC proof size, which is the same as R1CS statement-witness pair size, they applied Spartan to generate a proof of knowledge of IVC proof, which compresses the concrete proof size. The trickiest part is the hash of R1CS statements in folding scheme as R1CS statement, which ensures the statement size being constant.Nova: Recursive Zero-Knowledge Arguments from Folding Schemes
Algebraic Reductions of Knowledge
TODO: SuperNova: Proving universal machine executions without universal circuits
TODO: HyperNova: Recursive arguments for customizable constraint systems
One thing I kinda regret is that, I didn’t read Spartan really carefully. Noticing that for a multilinear poly $f(\bx) = \sum_{\br \in \zo^N } f_{\br} \cdot \tilde{\text{eq}}(\br, \bx)$, if it is a $m$-sparse poly, then $f(\bx) = \sum_{\br \in \zo^{\log m}} {\rm val}(\br) \cdot \prod_{i = 1}^c \tilde{\eq}({\rm bits} ({\rm tableIndex}_i(\br)), \bx_i)$. On commit phase, one commits to $\rm val$ and ${\rm tableIndex}_i$ all $c + 1$ $\log m$-variate multilinear polys for dense representation of $f$. On proving phase, given the evaluation point $\bx$, prover commits to The memory checking invariat is ${\rm WS = RS} \cup S$, where $\rm WS$ has LDE being $\rm WS = RS + 1$. The allowance of malicious prover to commit to these metadata for memory checking is from claim 2 of the paper, that a dishonest memory cannot forge a $S$ for a checker.Unlocking the lookup singularity with Lasso
TODO: Jolt: SNARKs for Virtual Machines via Lookups
[Seen 2023/11 for PlonK line of work]
TODO: Efficient Zero-Knowledge Argument for Correctness of a Shuffle
A permutation argument checks if a polynomial is permutation of another polynomial by $f(\sigma(x)) = g(x)$. Another perspective of constraint system is that, view computation circuit as $n$ gates and $m$ wires, then the wire values attached to gates as input/output should be equal. A trick to combine multiple zeroity check is to apply random linear combination over multiple zerotiy terms with exponents of random $\alpha \in \field$. KZG polynomial commitment allows up to polynomial degree up to $n$ by CRS, linearization allows one to open against polynomial as products of sub-polynomials of degree lower than $n$.PlonK: Permutations over Lagrange-bases for Oecumenical Non-Interactive arguments of Knowledge
A similar trick of permutation argument application, while we want to check all the elements in multiset $F = f_1 … f_n$ appeared in vector table $T = t_1 … t_d$. We only need to check the multiset equality, so we no need of $\beta \in \field$ in plonk. To check $F \subseteq T$, we merge these two multisets and sort them, yielding a multiset $S’$.PlookUp: A simplified polynomial protocol for lookup tables
Combining the upper 2 works into a Plonk with look up table supported. To combine a line of 2 input 1 output table entry into $\field$, see Spartan multiset hash function, that $t = t_1 + \gamma \cdot t_2 + \gamma^2 \cdot t_3$ for random $\gamma \in \field$. Additional to constraint system is that $q_{k_i} (w_i + \gamma \cdot w_{n + i} + \gamma^2 \cdot w_{2n + i} - t_i) = 0$ for all $i \in [n]$, which checks intermediate witnesses match table results.PlonKup: Reconciling PlonK with plookup
This paper gave off a good vibe from Spartan, with 2 contributions: This paper helped me realizing the essence of Plonk, that is multiset hash function with multiset product argument: I personally like the way they organize the PIOPs in section 3, which is very well organized and can be easily read. Linear time multilinear polynomial commitment scheme from Orion has concretely large proof size, due to full MT implementation.HyperPlonk: Plonk with Linear-Time Prover and High-Degree Custom Gates
TODO: Succinct Arguments over Towers of Binary Fields
[Polynomial Commitments]
The contributions of this paper follows: Multilinear polynomial commitment starts from the observation of $\tilde{\eq}(\bu, \bv)$ can be separated into $\prod_{1 \le i \le \ell}\tilde{\eq}(u_i, v_i)$.Doubly-efficient zkSNARKs without trusted setup (multilinear PCS from matrix commitment and IPA, $\sqrt{|w|}$ communication complexity)
RedShift: Transparent SNARKs from List Polynomial Commitments (univariate PCS from FRI)
This paper introduced a way to construct polynomial commitment from FRI.
- Specifically, they proposed a construction for List Polynomial Commitment (LPC) from FRI.
- By taking advantage of randomness, they can “patch” the LPC such that it commits to the actual polynomial uniquely, with minor soundness error.
The motivation behind LPC is that, distinguishing a sufficient close function from a valid codeword in RS code leads to large parameters.
- This involves a concept called list decoding, that $L_\delta(f)$ denotes a list of valid codewords in RS code that are at most $\delta$-far from $f$.
- Supposing the $\delta$ is sufficient small (smaller than unique decoding radius $\delta_0$), then $L_\delta(f)$ contain only 1 codeword.
- that is the function constrained over RS field $D \subseteq \field$.
- Instead, we can try to commit to a list of polynomials that are in $L_\delta(f)$, and complying to an additional list of point-evaluation pairs.
However, the LPC above doesn’t give uniqueness in normal polynomial commitment.
- The rough idea is to take advantage of randomness sampling, picking points to patch the LPC point-evaluation pairs that $f$ must comply to.
- The application of a $\mu$-dimensional $\eps$-distinguisher happens in the “offline” stage.
- It appends $\mu$ pairs of random point-evaluation of $f$ to the list of point-evaluation pairs for LPC.
- The PPT distinguisher patches all points that all other $g \in L_\delta(f)$ that are not agreeing with $f$, to be evaluated by $f$.
- Soundness error follows from Schwartz-Zippel, that for a $g \in L_\delta(f)$ that is not $f$, we have $\Pr\limits_{x \in \field}\left[f(x) = g(x)\right] \le \dfrac{d}{|\field|}$.
- By union bound over $|L_\delta(f) -1|$ other polynomials and iterating over $\mu$ points, $\eps \le \left(\dfrac{d}{|\field|} \cdot (|L_\delta| - 1)\right)^\mu$.
Finally, double-column ACM format is anti-human, definitely hate it.
TODO: Linear-Time Arguments with Sublinear Verification from Tensor Codes
On Brakedown, the main contributions are two folds: The polynomial commitment scheme from BCG20 is holding the form of $g(\br) = \langle \pmb{q}_1 \otimes \pmb{q}_2, \bu\rangle$, where $\bu$ is the Lagrange basis for $g$ over $(0, 1)^n$. As for the efficient extractor without need of efficient decoder part: The claim 1 and lemma 1 for testing phase are a bit hard to comprehend; while using Ligero’s lemma 4.2 and 4.4, things are straightforward. There are a lot to learn in coding theory and extractor runtime subtly (EPT) proof, I need to be better at it. The linear code description in Brakedown is a bit hard to comprehend, so we defer this to the following writeup on expander code.Brakedown: Linear-time and field-agnostic SNARKs for R1CS (multilinear PCS from tensor-code IOPP)
TODO: Brakedown’s expander code (supplementary file for Brakedown Section 4 construction)
TODO: Gemini: Elastic SNARKs for Diverse Environments (provides a way to convert univariate PCS to a multilinear PCS)
This paper has following main contributions: Given a bipariate graph $G = (L, R, E)$, where $V = L \cup R$ and $L \cap R = \varnothing$. Let $0 < \eps < 1$, $\delta > 0$, and $\Gamma(S)$ be the neighbor set of $S \subseteq V$. Let $|L| = k$, $|R| = k’ = \alpha k$, we say $G$ is a $(k, k’, g)$-lossless expander graph with following properties: On the other hand, $|S| \le \dfrac{\alpha k}{(1 - \eps) g}$, or $S$ expanding from $L$ into more than $\alpha k$ vertices in $R$. First, for a $g$-left-regular bipariate graph $G$, w.p. $O\left(\dfrac{1}{\text{poly}(k)}\right)$ it is not a $(k, k’, g)$-lossless-expander graph. Let $s = |S|$ for $S \subseteq L$, and $T = \Gamma(S) \subseteq R$ with $t = |T|$. Then $T$ being $S$’s neighbor has probability upper bounded by $\left(\dfrac{t}{\alpha k} \right)^{sg}$. Thus the probability of a scenario of non-expanding subgraph in $G$ is upper bounded by $t = (1 - \eps) g s$, and by union bound $\le \sum\limits^{\delta k / g}_{s = 2} \dbinom{k}{s} \dbinom{\alpha k}{(1 - \eps) gs} \left( \dfrac{(1 - \eps) gs}{\alpha k} \right)^{sg}$, which is $O\left(\dfrac{1}{\text{poly}(k)}\right)$. On the other hand, when $s$ is a constant, the total search space is $(\alpha k)^{sg}$, which is $\text{poly}(k)$ - if there exists non-expanding subgraphs, then non-expanding probability is lower bounded by $O\left(\dfrac{1}{\text{poly}(k)}\right)$. In the summation term above, for $\log \log k \le s \le \dfrac{\delta k}{g}$, with appropriate parameter choices, the summation term can be concretely negligible. On the other hand, for $2 \le s \le \log \log k$, there is an efficient algorithm to find the very small set expansion cases. There are 2 preliminary lemmas/facts can be helpful in bounding the algorithm runtime and algorithm searching object. The algorithm is basically iterating each $v \in L$, find $D \subseteq L$ that is within $2 \log \log k$ distance from $v \in L$, and all possible non-expanding graphs from $S \subseteq D$.Orion: Zero Knowledge Proof with Linear Prover Time (from tensor-code IOPP and linear-time high rate code)
TODO: SLAP: Succinct Lattice-Based Polynomial Commitments from Standard Assumptions
BaseFold: Efficient Field-Agnostic Polynomial Commitment Schemes from Foldable Codes
TODO: Vortex: A List Polynomial Commitment and its Application to Arguments of Knowledge
TODO: Polynomial Commitments from Lattices: Post-Quantum Security, Fast Verification and Transparent Setup
WHIR: Reed–Solomon Proximity Testing with Super-Fast Verification
TODO: Blaze: Fast SNARKs from Interleaved RAA Codes
[Reed-Solomon Proximity Tests]
TODO: Interactive Proofs of Proximity: Delegating Computation in Sublinear Time
The contributions of this paper are two folds as follows: We start by Lemma 4.2/4.3 version, where $e < \dfrac{d}{4}$, that: if $d(U^\ast,L^m)>e$, let $L^\ast = \text{rowspan}(U^\ast)$, then $\Pr\limits_{\bw^\ast \overset{R}{\gets} L^\ast}[d(\bw^\ast,L) \le e] \le \dfrac{e + 1}{|\field|}$. An improved analysis by by Roth and Zemor gives $e < \dfrac{d}{3}$, that: if $d(U^\ast,L^m)>e$, then $\Pr\limits_{\bw^\ast \overset{R}{\gets} L^\ast}[d(\bw^\ast,L) \le e] \le \dfrac{e + 1}{|\field|}$. Based on the interleaved code proximity test, they developed a way to test if an interleaved codeword contain message satisfying linear/quadratic constraints.Ligero: Lightweight Sublinear Arguments Without a Trusted Setup (distance perserving in interleaved code)
This paper lays the foundations for the FRI, or fast Reed-Solomon interactive proof of proximity, that follows the line of work of PCPs and PCPPs. The key idea is similar to the Basefold one, that is reducing a proximity testing problem over a large domain into similar proximity testing problems over smaller domains. There are 3 main ingredients related to the probabilistic reduction of proximity problem: The proving strategy splits into 2 parts: The round rejecting probability can be split into 2 cases: To argue the low probability of verifier challenges falling into distortion set, the proof still split into 2 cases by distance in/out of unique decoding radius:Fast Reed-Solomon Interactive Oracle Proofs of Proximity
The main contribution is on a special case of “worst-case to avg-case” problem, that is: If $u^\ast$ in an affine space $U \subseteq \field^n$ is $\delta_{max}$-far from another linear space $V \subseteq \field^n$, what can we say about $\delta_{med}$ of most elements in $U$ to $V$? The paper gives 3 versions of solutions: One of the main technique, or the spirit here, is related to how to measure distance between 2 affine (linear) spaces $U$ and $V$. The techniques in proving each line is at most some points $\delta_{med}$-close to $V$ are rather distinct in 3 solutions: On the other hand, for a Reed-Solomon code $u^\ast$ specifically, a random “affine-shift” by $u^\ast(x) + c \cdot u^\ast(a x + b)$ can amplify $u^\ast$’s distance to the subspace of the RS code. If one improves the distortion set for $\delta_0$ (extend distortion set sensitivity beyond unique decoding regime, and giving larger $\delta_0$), then one improves the soundness of FRI.Worst-Case to Average Case Reductions for the Distance to a Code (distance preserving in interleaved code, improved distortion set and $\delta_0$ soundness)
The paper has following three contributions: The foldable linear code derive from a family of random foldable distribution, that has high min distance with high probability. The IOPP for foldable linear code gives a similar vibe of FRI. The polynomial commitment scheme is a combination of BaseFold IOPP and sumcheck protocol.BaseFold: Efficient Field-Agnostic Polynomial Commitment Schemes from Foldable Codes (multilinear PCS from Foldable Code IOPP)
First, the paper provides a better average case ($1 - (1 - \lambda + \eps)^{1/3}$, or the so-called $J^{3/2}_\eps(\lambda)$) in distance to a linear space $V$ formed by a linear code. Detailed avg-case distance result: $\eps < 1/3$, $\delta < 1 - (1 - \lambda + \eps)^{1/3}$, if $\Delta(u^\ast, V) > \delta + \eps$, then for all $u \in \field^n$, $\Pr\limits_{x \in \field} \left[ \Delta(u^\ast + x \cdot u, V) < \delta \right] < \dfrac{2}{\eps^2 \cdot |\field|}$. The result is tight by one case over $\field_{2^n}$, evaluation domain $D = \field_{2^n}$, and code rate $\rho = 2^{-3}$. Take a step back, for a $u_x|_D = (u^\ast + x \cdot u) |_D$ in affine space $U$, there might be some pretenders in its list-decoding radius. The Domain Extending for Eliminating Pretenders (DEEP) lets verifier to ask prover for extra help to evaluate $u_x$ on some $z \in \field$. The improved DEEP method for RS code result: $\eps < 1 / 3$, $\delta < J_\eps(\lambda)$, if $\Delta(u^\ast, V) > \delta + \eps$, then $\Pr\limits_{x, z \in \field} \left[ \Delta(u_x, V_{z, B_z(x)}) < \delta \right] < \eta$. Still prove by contraposition, with a similar thought process - if the most promising pretenders $P_x$ of $u_x$ become colinear, then $u^\ast$ cannot be that far.DEEP-FRI: Sampling Outside the Box Improves Soundness (avg-case dist from $J_\eps^2(\lambda)$ to $J_\eps^{3/2}(\lambda)$, $\lambda = \Delta(V)$)
TODO: Proximity Gaps for Reed-Solomon Codes
TODO: STIR: Reed–Solomon Proximity Testing with Fewer Queries
TODO: WHIR: Reed–Solomon Proximity Testing with Super-Fast Verification
[Interleaved code proximity test]
Ligero: Lightweight Sublinear Arguments Without a Trusted Setup
Worst-Case to Average Case Reductions for the Distance to a Code
DEEP-FRI: Sampling Outside the Box Improves Soundness
Proximity Gaps for Reed-Solomon Codes
[FFT over curves]
TODO: Scalable and Transparent Proofs over All Large Fields, via Elliptic Curves (ECFFT part II)
TODO: Circle STARKs
[MPC and distributed ZK related works]
TODO: Zero-Knowledge Proofs on Secret-Shared Data via Fully Linear PCPs
TODO: Efficient Fully Secure Computation via Distributed Zero-Knowledge Proofs
Experimenting with Collaborative zk-SNARKs: Zero-Knowledge Proofs for Distributed Secrets
This paper specialized in introducing MPC techniques into developed SNARK schemes, and implementing relevant components for the collaborative version.
The main technique here is bringing linear secret sharing over elliptic curve, that avoids using MPC to lift group elements over the curve.
The definition of collaborative SNARK on knowledge soundness does not guarantee extraction of each sub-prover.
- But rather, when all the prover pool information together, they can determine witnesses.
The definition of zero-knowledgeness in collaborative SNARK is also a bit different.
- For a single prover, it has to be valid witness, or an honest prover cannot generate proof.
- For collaborative proofs, each prover holds a share of witness, and eventually the reconstruction of witness is valid or not.
- Thus the simulator need to know the validity of the witness itself.
To bring KZG commitment into collaborative scenario, the key is lemma 4.
- The goal is to prove an MPC scheme replacing a sub-circuit for linear function with local computation over secret sharing is secure.
EOS: Efficient Private Delegation of zkSNARK Provers
This paper achieved private delegation of SNARK with efficient throughput, and malicious security at the same time.
The differences from OB22 are:
- EOS uses honest delegator to minimize preprocessing cost, avoiding the cost of generating correlated randomness with PKE.
- EOS introduces a notion of PIOP consistency check, that allows delegator to check the consistency of polynomial computation, which minimizes malicious security.
- However, EOS requires the delegator to be also involved in the proof generation computation, while OB22 just delegates, and walks away.
zkSaaS: Zero-Knowledge SNARKs as a Service
An essence of secret sharing based MPC shown in this paper is the use of randomness:
- It comes in as jointly generated random secret sharings, reconstructed and applied to target, and remvoed by deducting these random sharings.
This paper’s main contribution is the use of packed secret sharing:
- The rewritten sub-protocols gives lower memory and communication, and performs “SIMD-alike” computation over secret of vector form.
- The workload of servers involved in computation (not the large server in the center of star topology) is reduced due to packed secret sharing.
The nature of FFT leads to an $O(\log m)$ round naive MPC, but the paper provides a 2 round computation from packed secret sharing:
- By arranging the vector packed in the secret, a party can last from $\log m$ to $\log \ell$ round by locally perform linear combination.
- Once $\log \ell$ round in FFT is reached, the parties add masked randomness to sharings, and send over all computation to a server with large memory,
- The large server taking over FFT take over the rest of the computation, and send out shaings once its computation is done.
- The small server perform only $O(m / \ell \cdot (\log m - \log \ell))$ operations and $O(m / \ell)$ memory, due to SIMD operation from packed SS.
- The large server additionally need $O(m \log \ell)$ operations for FFT, $O(m \log n)$ operations for secret sharing over $n$ parties, and $O(m)$ memory.
TODO: Sometimes You Can’t Distribute Random-Oracle-Based Proofs
[GKR Proof system related]
Delegating Computation: Interactive Proofs for Muggles (GKR proof systems)
Behold, the GKR prover is here. I first encountered this in Alessandro Chiesa’s course, for doubly efficient proof systems.
The one liner for GKR, or proof system relying on sumcheck to multilinear PCS, is reduction:
- The proof system looks like reducing a statement (looking like a sumcheck statement) to a random evaluation evaluation over a multilinear polynomial.
- GKR is a chain of reduction, going reversely from last layer of output back to inputs, that is committed by a multilinear PCS. Supposing intermediate circuits are has a succinct description, then PCS is only needed for input MLE.
I slightly started learning the circuit complexity, so basically the computation GKR can prove is uniform NC circuits, which encapsulates NL problems.
For problems related to IPCP or PCA, really need to circle back after reading KR08, KR09.
TODO: Libra: Succinct Zero-Knowledge Proofs with Optimal Prover Computation
TODO: Transparent Polynomial Delegation and Its Applications to Zero Knowledge Proof
TODO: Doubly Efficient Interactive Proofs for General Arithmetic Circuits with Linear Prover Time
TODO: Ceno: Non-uniform, Segment and Parallel Zero-knowledge Virtual Machine
[Argument System in general]
TODO: How to Construct Constant-Round Zero-Knowledge Proof Systems for NP
TODO: Interactive PCP
TODO: Probabilistic Checkable Arguments
TODO: Efficient Arguments without Short PCPs
TODO: Succinct Non-Interactive Arguments via Linear Interactive Proofs
TODO: A Uniform Min-Max Theorem with Applications in Cryptography
TODO: Are PCPs Inherent in Efficient Arguments?
Separating SNARGs from All Falsifiable Assumptions
TODO: Fiat-Shamir: From practice to Theory, Part I: Fiat-Shamir From Simpler Assumptions
TODO: On the (In)security of Kilian-Based SNARGs
TODO: Transparent SNARKs from DARK Compilers
TODO: Does Fiat-Shamir Require a Cryptographic Hash Function?
TODO: Fiat-Shamir via List-Recoverable Codes (or: Parallel Repetition of GMW is not Zero-Knowledge)
TODO: Non-Interactive Batch Arguments for NP from Standard Assumptions
TODO: SNARGs for P from LWE
TODO: Algebraic Reductions of Knowledge
TODO: Batch Arguments for NP and More from Standard Bilinear Group Assumptions
TODO: Lower Bound on SNARGs in the Random Oracle Model
TODO: PPAD is as Hard as LWE and Iterated Squaring
TODO: Non-Interactive Zero-Knowledge from Non-Interactive Batch Arguments
TODO: Probabilistically Checkable Arguments for all NP
[Fiat-Shamir-with-Abort line of work]
Lattice Signatures Without Trapdoors (reject sampling technique)
This paper’s reject sampling technique made possible a fruitful line of work on lattice based zero-knowledge proof, really really impressive.
We start with the reject sampling technique in general, without instantiating it over any specific distribution.
- This technique gives a way to “hammer” one distribution to be looking like another one, by rejecting output upper bounded by some probability.
- Supposing we want to make a distribution $(h, g_v)$ statistically close to $(h, f)$, where $v \gets h$, and $f(z) / g_v(z) \le M$ w.p. $\ge 1 - \eps$ for $z \gets f$ and any $v$.
- On $(h, g_v)$ side, reject w.p. $\min(1, \dfrac{f(z)}{M \cdot g_v(z)})$; while on $(h, f)$ side, reject w.p. $M^{-1}$.
- The statistical distance should be $\eps / M$, for no-output SD by $\eps / M$ and output case SD by $\eps / M$.
On instantiating with Gaussian distribution, the motivation is to hammer $(h, \distro^m_{\bv, \sigma})$, where $\bv \gets h$, to be looking like $(h, \distro^m_\sigma)$.
- This helps arguing the zero-knowledgeness (simulatability) without knowledge of center of distribution $\bv$.
- A key lemma is to bound the probability of $\dfrac{\distro_\sigma^m(\bz)}{\distro^m_{\bv,\sigma}(\bz)} = O(1)$, which applies to the general reject sampling lemma above.
Short Invertible Elements in Partially Splitting Cyclotomic Rings
First of all, think geometrically, prove algebraically.
Suppose we have a ring represented in CRT form. We write modulus $p = \prod p_i^{e_i}$, short elements $v$ with each entry being between $(-p_i, p_i) \setminus {0}$ are invertible.
- Their CRT form won’t contain 0, thus they are invertible.
- Their CRT form is a vector of same value $v$.
- If the $\ell_\infty$-norm bound of the CRT form is beyond $p_i$, the challenge space $C$ will contain invertible elements, where 0 exists in their CRT form.
Suppose we have a $m^{th}$ cyclotomic polynomial $\Phi_m(x) \equiv \prod\limits_{i = 1}^{\varphi(m)}(x - r_i) \mod p$, with $r_i$ being $m^{th}$ primitive root of unities over $\ZZ_p^\ast$.
- Then $\Phi_m(x) \equiv \Phi_{\delta(m)}(x^{m / \delta(m)}) \mod p$, with $\delta(m) = \prod\limits_{\text{prime}~p_i | m} p_i$.
- More generally we have $\Phi_m(x) \equiv \Phi_{z}(x^{m / z}) \mod p$ for $z = \prod p_i^{f_i}$ with $1 \le f_i \le e_i$, because of $\varphi(m) = m / \delta(m) \cdot \varphi(\delta(m)) = m / z \cdot \varphi(z)$.
Now, let $\Phi_m(x) \equiv \prod\limits_{i = 1}^{d}f_i(x) \mod p$, also let $\Lambda$ be a set for $\bz \in R = \ZZ^{\varphi(m)} / \Phi_m(x)$ that $\bz \equiv \pmb{0} \mod (\Phi_m(x), p)$. Note that $\Lambda$ forms an ideal lattice in $R$.
- A polynomial in $R_p$ that is invertible, then its modulo $f_i$ over $p$ should always be non zero.
- We write $\lambda_1(\Lambda)$ as the Euclidean length of the shortest non-zero vector in $\Lambda$.
- We have $\det(\Lambda) = | \ZZ^{\varphi(m)} / \Lambda | = p^{\varphi(m) / d}$, and we can use it to retrieve $\lambda_1(\Lambda)$ upper bounded by $\dfrac{\sqrt{\varphi(m)}}{s_1(m)} \cdot \det(\Lambda)^{1/ \varphi(m)}$.
- Supposing $\by \in R$ has $\by \equiv \pmb{0} \mod (\Phi_m(x), p)$ and $\lVert \by \rVert_2 < \lambda_1(\Lambda)$, then contradict with shortest vector in ideal lattice. (Not long enough to round back)
In short, given an ideal lattice $\Lambda$ in $R$, if $\forall \bc \in C$ are shorter than any shortest vector in it, then they are always invertible.
More Efficient Commitments from Structured Lattice Assumptions (BDLOP commitment)
This is one of the few papers I read when I started self-teaching in Algorand years.
The BDLOP paper has following contributions:
- The BDLOP additive commitment itself, that is instantiated to be computationally hiding and statistically binding.
- A connection between knapsack problem and LWE/SIS, that gives a duality of the search/decision problem being statistically/computationally hard.
- A proof of opening with relaxed soundness (can be extended to proof of linear relation), which is before the introduction of the proof of exact knowledge from lattice.
The search version of knapsack problem ${\sf SKS}^2_{n, k, \beta}$ in the $\ell_2$ norm asks to find a $\by$ that $\lVert \by \rVert_2 \le \beta$ to solve $\begin{bmatrix} {\bf I}_n & {\bf A}’ \end{bmatrix} \cdot \by = \pmb{0}$, with ${\bf A}’$ being uniformly random.
- Supposing each element in $\by$ is invertible, then the probability over ${\bf A}’$ to find the solution above derive from Schwartz-Zippel.
- Statistical hardness derives from the union bound for all the $\by$ that $\lVert \by \rVert_2 \le \beta$, each with probability to solve ${\sf SKS}$ over randomness of ${\bf A}’$.
The decision version of knapsack problem ${\sf DKS}^\infty_{n, k, \beta}$ in the $\ell_\infty$ norm asks to tell $({\bf A}’, \begin{bmatrix} {\bf I}_n & {\bf A}’ \end{bmatrix} \cdot \by)$ from uniformly random sample.
- Statistical hardness derives from Leftover Hash Lemma (LHL), that ${\bf A}’$ serves as a hash function.
As the norm bound $\beta$ increases, the ${\sf SKS}$ degrades from statistically to computationally hard, while ${\sf DKS}$ strengthens from computationally to statistically hard.
- The choice of $\beta$ gives the duality of search/decision problem being statistically/computationally hard.
Essentially, the BDLOP commitment hiding the secret being masking message with a (M)LWE sample, while the binding is from a statistically secure version of SIS, that is ${\sf SKS}$.
Algebraic Techniques for Short(er) Exact Lattice-Based Zero-Knowledge Proofs (exact proof of knowledge)
This paper and Efficient Lattice-Based Zero-Knowledge Arguments with Standard Soundness: Construction and Applications both solved lattice based exact knowledge of linear system, in a similar flavor.
The trick is that: to prove exact knowledge of $\vec{s} \in \ZZ_q^m$ that satisfies $A \in \ZZ^{n \times m}_q$, we can rely on $A$ being a strong (R)SIS instance, that binds a short $\vec{s}$ for linear system $A \vec{s} \equiv \vec{u} \pmod{q}$.
The shortness of $\vec{s} \in {0, 1, 2}^m$ can be checked through $(\vec{s} - \vec{2}) \circ (\vec{s} - \vec{1}) \circ \vec{s} = \vec{0}$, and can be lifted to NTT as follows:
- Suppose $\vec{s}$ can be lifted to an NTT representation of a ring $\ring_q$, written as $\hat{s}$, that $(s - 2)(s - 1)s = 0$ over $\ring_q$.
The main protocol of exact knowledge is a sigma-protocol, that:
- Prover samples a uniform masking polynomial $y \in \ring_q$ that $A \hat{y} \equiv \vec{w} \pmod q$;
- Verifier samples a uniform challenge $c \in \ZZ_q \subseteq \ring_q$;
- Finally prover outputs masked secret $z = y + c \cdot s$.
- This gives extraction of $A (\hat{z} - \hat{z’}) \equiv (c - c’) \cdot \vec{u} \pmod q$.
Prover additionally sends out commitment to $y$ and $s$, such that verifier can check $C_z \stackrel{?}{=} c \cdot C_s + C_y$.
- This improves extractability to $A (c - c’) \hat{s} \equiv (c - c’) \cdot \vec{u} \pmod q$.
- Cancelling $c - c’$ terms on both sides, the rest is to prove the $\hat{s}$ over $C_s$.
Noticing $(z - 2c) (z - c) z = y^3 + 3y^2(s - 1)c + y(3s^2 - 6s + 2)c^2 + (s - 2)(s - 1)s c^3$.
- Prover additionally commits to $y^3$, $3y^3(s - 1)$, and $y(3s^2 - 6s + 2)$.
- Verifier checks $C_{(z - 2c)(z - c)z} \stackrel{?}{=} C_{y^3} + c \cdot C_{3y^2(s-1)} + c^2 \cdot C_{y(3s^2 - 6s + 2)}$.
Finally, the verfiier needs to check whether all the commitment terms are well formed, following BDLOP commitment proof of opening, which is binding.
Practical Product Proofs for Lattice Commitments (short invertible elements on fully splitting rings, with high probability)
One of the main contribution of this paper from Short Invertible Elements in Partially Splitting Cyclotomic Ring is that, it allows for short invertible elements in fully splitting ring (namely no restriction on modulus $q$) with high probability.
An invertible ring element has all its NTT coefficients being non-zero, while an NTT coefficient is a polynomial ring element’s evaluation over a cyclotomic ring root-of-unity.
Now that write $\bc = \sum\limits^{d - 1}_{i = 0} c_i X^i \in \ZZ_q[X] / (X^d + 1)$, where $\ring_q \cong \prod\limits_{i \in \ZZ_{2 \ell}^\times} \ZZ_q [X] / (X^{d / \ell} - \xi^i)$ (note that $X^{d / \ell} + \xi^i$ doesn’t necessary have to be irreducible, as it doesn’t matter for the result here).
The proof’s main idea is that:
- Supposing each coefficients of $\bc \in \ring_q$ are iid sampled, $\bc$ and $\sigma(\bc)$ are identically distributed, where $\sigma \in \mathsf{Aut}(\ring_q)$.
- Since $\ring_q / (X^{d/ \ell} - \xi^i) \cong \ring_q / (X^{d / \ell} - \xi^j)$, then $\bc / (X^{d / \ell} - \xi^i)$ and $\bc / (X^{d / \ell} - \xi^j)$ should be identically distributed, for $\sigma(\bc / (X^{d / \ell} - \xi^i)) = \sigma(\bc) / (X^{d / \ell} - \xi^j)$.
- Thus each the polynomial splitting sharing same distribution, and we can simply argue on one split, and the argument should go through on the other splits.
- Observing that $\bc / (X^{d / \ell} - \xi)$ can be reduced by: $\bc = \sum\limits_{k = 0}^{\ell - 1} X^{k d / \ell} \sum\limits_{j = 0}^{d / \ell - 1} c_{k \ell + j} X^j \equiv \sum\limits_{k = 0}^{\ell - 1} \xi^k \sum\limits_{j = 0}^{d / \ell - 1} c_{k \ell + j} X^j \pmod{X^{d / \ell} - \xi}$.
- The probability density of each coefficient in the polynomial split is a convolution of the (shifted) probability densities of coefficients of $\bc$, that $\mu_k(0) = p$, and $\mu_k(\xi^{\pm k}) = (1 - p) / 2$ ($\bc$’s probability density is $\mu_0$).
- The rest follow from Fourier analysis to upper bound the $\ell_\infty$-norm of the probability density of the polynomial split’s coefficient $\sum\limits_{k = 0}^{\ell - 1} c_{k \ell + j} \xi^k$ for $j \in [0, d/\ell - 1]$, which bounds the probability of the split being 0.
Practical Exact Proofs from Lattices: New Techniques to Exploit Fully-Splitting Rings (soundness amplification for exact proof of knowledge)
The soundness of BLS19 is $1 / q$ for the challenge in the first round of $\Sigma$-protocol is $c \in \ZZ_q \subset \ring_q$, the protocol need to be repeated multiple times for sufficient soundness.TODO: Practical Lattice-Based Zero-Knowledge Proofs for Integer Relations
TODO: Lattice-Based Zero-Knowledge Proofs and Applications: Shorter, Simpler, and More General
[Lattices]
TODO: Streaming Authenticated Data Structures
TODO: Leveled Fully Homomorphic Signatures from Standard Lattices
TODO: FHE Circuit Privacy Almost For Free
TODO: Lattice (List) Decoding Near Minkowski’s Inequality
TODO: Hardness of the (Approximate) Shortest Vector Problem: A Simple Proof via Reed-Solomon Codes
TODO: Succinct Vector, Polynomial, and Functional Commitments from Lattices
TODO: Attribute-Based Encryption for Circuits of Unbounded Depth from Lattices
TODO: Chipmunk: Better Synchronized Multi-Signatures from Lattices
TODO: LatticeFold: A Lattice-based Folding Scheme and its Applications to Succinct Proof Systems
TODO: A New Approach for Non-Interactive Zero-Knowledge from Learning with Errors
[Secret Sharings]
TODO: On the Local Leakage Resilience of Linear Secret Sharing Scheme
TODO: Constructing Locally Leakage-resilient Linear Secret-sharing Schemes
TODO: Additive Randomized Encodings and Their Applications
TODO: Arithmetic Sketching
[Combinatorics Papers]
An Alternative Proof of The Schwartz-Zippel Lemma
A degree $d$ polynomial in $n$ variables cuts out a hypersurface $S$ in $\field^n$. There are at most $d$ intersection points between a hypersurface $S$ and an independent line (i.e., the intersection is not the whole line).
This explains separating out homogeneous $g$ of total degree $d$ from $f$: we need $g$ for constructing hypersurface $S$ in $\field^n$.
If one can find a direction that is everywhere independent of the hypersurface $S$, one can foliate $\field^n$ by parallel lines in that direction and count intersections within each line.
Question: Why we want to foliate $\field^n$?
Recall that, we want to upper bound the number of $\pmb{\alpha}$’s such that $f(\pmb{\alpha}) = 0$ over $\field^n$, namely, $|S|$ (points over $S$) over $\field^n$.
The foliation is parameterized by the direction’s orthogonal complement, which is isomorphic to $\field^{n-1}$, so the total points in $\field^n$ can be described by $\field^{n-1}$ lines, and we count intersection points between lines and hyperplane $S$ within each line.
The total number of lines is $|\field|^{n-1}$, while on each line either at most $d$ points or all $p$ points over the line (we eliminated this case by independence), thus the total number of hypersurface points across all of $\field^n$ is at most $d \cdot |\field|^{n-1}$.
TODO: Multilinear Schwartz-Zippel mod N with Applications to Succinct Arguments