KZG

KZG (Kate, Zaverucha, Goldberg) is a pairing-based polynomial commitment scheme with trusted setup.

Intuition

Bilinear maps effectively convey the power of multiplicative-homomorphism, but only for one multiplication operation. To be more concrete, let us think of a group element gmiGg^{m_i} ∈ G as a commitment to mim_i (if mim_i is chosen at random, the commitment is computationally hiding if the discrete logarithm problem is hard in GG, meaning it is hard to determine mim_i from gmig^{m_i}). Then bilinear maps allow any party, given commitments c1,c2,c3c_1, c_2, c_3 to check whether the values m1,m2,m3m_1, m_2, m_3 inside the commitments satisfy m3=m1m2m_3 = m_1 · m_2. This is because by bilinearity of the map e:G×GGte : G × G → G_t, e(gm1,gm2)=e(gm3,g)e(g^{m_1} , g^{m_2} ) = e(g^{m_3} , g) if and only if m3=m1m2m_3 = m_1 · m_2.

It turns out that the power to perform a single “multiplication check” of committed values is enough to obtain a polynomial commitment scheme. This is because for any degree-D\text{degree-}D univariate polynomial pp, the assertion p(z)=vp(z) = v is equivalent to the assertion that there exists a polynomial ww of degree at most D1D − 1 such that

p(X)v=w(X)(Xz).p(X) − v = w(X) · (X − z).

This equation can be probabilistically verified by evaluating the two polynomials on the left hand side and right hand side at a randomly chosen point ττ. This entire approach assumes that the committer does not know ττ, since if it did, it could choose the polynomial ww so that the equation does not hold as an equality of polynomials, but does hold at ττ.

Protocol Description

Setup

Let ee be a bilinear map pairing groups GG, GtG_t of prime order pp, and gGg ∈ G be a generator, and DD be an upper bound on the degree of the polynomials we would like to support commitments to. Let τ,αFp\tau, \alpha \in F_p be two random nonzero field elements. Then SRS (structured reference string) consists of the pairs:

{(g,gα),(gτ,gατ),(gτ2,gατ2),...,(gτD,gατD)}.\{(g, g^α ), (g^τ , g^{ατ} ), (g^{τ^2}, g^{ατ^2}), . . . , (g^{τ^D}, g^{ατ^D})\}.

Note that neither ττ nor αα are included in the SRS — they are “toxic waste” that must be discarded after the SRS is generated, as any party that knows these quantities can break extractability or binding of the polynomial commitment scheme.

Commit

To commit to a polynomial qq over FpF_p, the committer sends a value

c=(U,V)=(gq(τ),gαq(τ)).c = (U, V) = (g^{q(τ)}, g^{\alpha q(τ)}).

Note that while the committer does not know ττ, it is still able to compute gq(τ)g^{q(τ)} using the first elements in pairs in the SRS and additive homomorphism:

if q(Z)=i=0DciZi, then gq(τ)=i=0D(gτi)ci,\text{if } q(Z) = \sum_{i=0}^{D}c_iZ^i \text{, then } g^{q(τ)} = \prod_{i=0}^{D}(g^{\tau^i})^{c_i},

which can be computed given the values gτig^{τ^i} for all i=0,...,Di = 0, . . . , D even without knowing ττ. The commiter can compute gαq(τ)g^{\alpha q(τ)} in a similar manner, using second elements in pairs in the SRS, without knowing the value of α\alpha.

Evaluatuion

To open a commitment c=(U,V)c = (U, V) at zFpz ∈ F_p to some value vv, the committer computes the degree-(D1)\text{degree-}(D − 1) polynomial w(X):=(q(X)v)/(Xz)w(X) := (q(X) − v)/(X − z) and sends a value yy claimed to equal w(τ)w(τ). The verifier checks:

e(Ugv,g)=e(y,gτgz)e(U,gα)=e(V,g)e(U · g^{−v}, g) = e(y, g^τ · g^{−z}) \\ e(U, g^α ) = e(V, g)

This scheme is binding and extractable. You can find security analysis in the subsection 15.2 of "Proofs, Arguments, and Zero-Knowledge". If we omit the "alpha part" (second elements in the SRS, second element of commitment, second verification check), this scheme will be binding to some function but it doesn’t establish that the function the prover is bound to is a degree-D\text{degree-}D polynomial.

Complexity

  • Setup time: O(D)O(D)

  • Commit time: O(D)O(D)

  • Commit size: O(1)O(1)

  • Evaluation proof time: O(DlogD)O(D\log{D})

  • Evaluation proof size: O(1)O(1)

  • Verify time: O(1)O(1)

Extension of KZG to Multilinear Polynomials

TBD

Original Paper

https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdf

Last updated