1. Introduction
Zero-Knowledge Succinct Non-interactive Arguments of Knowledge (zk-SNARKs) are non-interactive proof systems between the prover and the verifier. They provide a way for the prover to convince the verifier that the statement claimed by the prover is true without disclosing any other information except the validity of the statement while maintaining a short proof size and an efficient verification by the verifier. Since their adoption to cryptocurrency systems, such as Zcash [
1] and Ethereum [
2], zk-SNARKs are regarded as an essential technique for solving data privacy issues in blockchain-based applications. There have been numerous SNARK proposals in the literature. Some constructions present very efficient proof systems with the help of a trusted setup [
3,
4,
5]. Because the transparent property is desirable for applications, such as cryptocurrency, recent constructions [
6,
7,
8] have focused on a proof system with a transparent setting, i.e., they have no trusted setup.
The construction of SNARKs with no trusted setup heavily relies on a transparent and efficient polynomial commitment scheme. At a high level, transparent zk-SNARKs can be constructed using the framework from polynomial interactive oracle proofs (IOP) [
3,
6] as follows: (1) The prover expresses the required computation for proving a statement as a set of low-degree polynomials over a finite field
, which is a representation of its witness. (2) The prover sends commitments to low degree polynomials to the verifier, and the verifier then checks the proof by querying evaluations of polynomials for points chosen uniformly at random from
, where we crucially require a polynomial commitment scheme. (3) Finally, one can obtain the non-interactive version of the previous proof systems by applying the Fiat–Shamir heuristic [
9].
In this paper, we focus on polynomial commitment schemes. Let
be the prover’s secret polynomial over a field
with the degree at most
d, i.e.,
. In polynomial commitment schemes, the prover sends the commitment to
f to the verifier. Later, upon input of a public point
, the prover convinces the verifier that the committed polynomial
f holds
with a proof. We call a polynomial commitment scheme transparent if it requires no trusted setup to generate public parameters for the scheme. Since the first construction was developed by Kate et al. [
10], a variety of polynomial commitment schemes have been proposed in the literature.
For polynomial commitment schemes, the main factors of efficiency consist of the computation complexities of the prover (prover complexity) and verifier (verifier complexity), and the communication complexity between them. Usually, constructions with a trusted setup provide higher efficiency than those with a transparent setting. Recently, Bünz et al. [
6] proposed an efficient polynomial commitment scheme with a transparent setting. Asymptotically, it achieves a logarithmic verifier complexity and proof size for evaluation (communication complexity). In brief, it improves efficiency by applying an evaluation protocol in a recursive manner. It reduces the degree of a polynomial
f by half at each iteration; hence,
iterations overall. Transparency in the scheme relies on the use of a group of unknown order whose concrete candidate is an ideal class group of imaginary quadratic fields.
The security of a group of unknown order stems from the infeasibility of computing the order of the group. Previous cryptographic constructions over a class group considered concrete group parameters, such as a 1665-bit negative fundamental discriminant for 128-bit security [
11,
12], which was used in Bünz et al.’s scheme [
6]. However, recent works report that the above parameters for class groups provide less security than expected. Notably, Dobson and Galbraith estimate that class groups with a 1665-bit discriminant only offer 55-bit security [
13]. They, therefore, claim that orders of a random class group should be at least
for a 128-bit security level. Those parameters correspond to approximately a 6656-bit discriminant. This leads to a decreased efficiency for the cryptographic primitives based on class groups.
In this paper, we put forward a study to overcome the efficiency degradation of Bünz et al.’s construction caused by the use of class groups. To do this, we focus on transposing their techniques in the discrete log setting, preserving a no-trust setup. This approach brings about two advantages. First, the (elliptic curve) discrete log problem is one of the standard cryptographic assumptions as opposed to the order assumption of class groups. To date, its security has been well-understood. Second, the group operation in the discrete log setting (e.g., elliptic curve groups) is much more efficient than that in the class groups, which significantly reduces the actual computation cost for both the prover and the verifier. In addition, a group element in the discrete log setting is shorter than that in class groups. This advantage cuts the cost of bandwidth spent by the prover and the verifier when applying the evaluation protocol of a polynomial commitment scheme.
Our approach is built on an information-theoretic abstraction given in [
6] to construct a polynomial commitment scheme. The abstraction requires two properties, a linear homomorphism and a monomial homomorphism, which the underlying commitment scheme should provide. These two properties enable the verifier to apply the computations among polynomials over their committed forms, such as a linear combination (a linear homomorphism) and a degree-shift operation (a monomial homomorphism) of polynomials. The two properties are necessary for an evaluation protocol using a recursive call, which is critical in achieving a logarithmic verifier and communication complexities. To realize these properties in a discrete log setting, we utilize a polynomial encoding method devised by Bootle et al. [
14]. This method uses a variant of the Pedersen commitment scheme [
15], which naturally provides a linear homomorphism. Unfortunately, however, the Pedersen commitment scheme is not a monomial homomorphism, which is easily obtained in a class group-based scheme [
6]. Thus, we focus our attention on the study of a discrete log-based proof system to prove that a monomial homomorphism is verifiably computed in the discrete log setting. The contribution of this work is as follows.
We clarify a proof system that proves the correct computation of a monomorphism in the discrete log setting. Specifically, we show it suffices to have a proof system to check the equality of a discrete logarithm over multiple bases, say . Given two subsets and of a group , allows the prover to convince the verifier that and have equal exponents, i.e., for , without disclosing raw exponents. A number of studies on have been carried out independently of the construction of polynomial commitment schemes. This work bridges two rather independent proof systems and provides a blueprint to combine these proof systems for the construction of an efficient, transparent polynomial commitment scheme in the discrete log setting.
We propose a recursive argument to show the correct polynomial evaluation by employing
. Our approach is to transpose a recursive argument from a class group in [
6] to that from the discrete log setting. We present a security analysis to demonstrate the completeness and soundness of the proposed protocol. In addition, We present a zero-knowledge version of the obtained polynomial commitment scheme. A zero-knowledge version ensures that no information of the prover’s secret polynomial
is leaked while the prover convinces the verifier that
holds for a point
.
The remainder of this paper is organized as follows. In
Section 2, we review related works. In
Section 3, we provide the background on the hardness assumption and building blocks for polynomial commitment schemes. In
Section 4, we present our approach to transpose Bünz et al.’s techniques in the discrete log setting and investigate a sub-routine protocol as a sufficient condition for our approach. In
Section 5, we discuss the performance and security of our approach. In
Section 6, we extend the polynomial commitment scheme in the previous section to the version with a zero-knowledge evaluation protocol. Finally, we provide some concluding remarks in
Section 7.
2. Related Work
A lot of recent research on polynomial commitment schemes have been carried out in the context of Succinct Non-interactive ARguments of Knowledge (SNARKs). In particular, a polynomial commitment scheme provides a key tool to generate a zk-SNARK from a polynomial interactive oracle proof (IOP) [
3,
6].
Kate et al. first constructed efficient and succinct polynomial commitment schemes for univariate polynomials [
10]. The construction is based on bilinear pairings over elliptic curves and requires a trusted setup. Its extension to multivariate polynomials has been proposed by Papamanthou et al. [
16] and Zhang et al. [
17]. Zhang et al. [
18] also presented the zero-knowledge version of their work [
17]. These schemes all use bilinear pairings and require a trusted setup.
Associated with transparent SNARKs, polynomial commitment schemes with a transparent setting have received significant attention and, along with the previously mentioned constructions, many schemes can be found in the literature. Bootle et al. [
14] constructed a transparent polynomial commitment scheme in the discrete log setting. They represent a polynomial of degree
d as a matrix with
rows and columns and then write a polynomial evaluation as matrix multiplications. This leads to a
commitment size, verifier complexity, and communication complexity. Wahby et al. presented a transparent polynomial commitment scheme [
7] for multilinear polynomials under the discrete log assumption. The scheme is built on the ideas of a matrix commitment of Bootle et al. [
14] and the inner-product argument of Bünz et al. [
19]. For a polynomial of degree
d, the
commitment size, verifier complexity, and communication complexity are required. Ben-Sasson et al. [
20] introduced the Fast Reed Solomon IOP of Proximity (FRI), which implicitly yields a transparent polynomial commitment scheme. Kattis et al. [
8] and Zhang et al. [
21] independently presented a method for obtaining polynomial commitment schemes from FRI. Their construction has
size commitments for the security parameter
and
communication complexity and supports quantum resistance. In addition, Lee [
22] proposed a multivariate polynomial commitment scheme with a transparent setting using pairing-based commitments. The scheme builds on inner product arguments given in Bootle et al. [
14] and Bünz et al. [
6]. Recently, Boneh et al. [
23] studied additive polynomial commitment schemes, where commitments form an additive group [
6,
10,
14,
19,
22]. They showed that the additive property yields a batch evaluation of polynomial commitments, which can be used for the efficient construction of SNARKs.
Groups of unknown order provide a mathematical structure for interesting cryptographic applications, such as delay functions [
24], accumulators [
25], and polynomial commitment schemes [
6]. Most cryptographic applications consider two candidate groups of unknown order, i.e., RSA groups [
26] and ideal class groups of imaginary quadratic fields [
27]. RSA groups assume a trusted setup in generating the RSA modulus and hence do not meet our current interest. By contrast, class groups do not require a trusted setup and thus have been used in recent constructions with a transparent setting [
6,
24,
25]. Dobson and Galbraith [
13] analyzed the security of the candidate parameters for class groups proposed in [
11,
12]. They argued that the parameters in [
11,
12] do not meet the desired security level and present much larger parameters, which lead to an extremely large size-up for commitments in previous constructions. In this line of research, Belabas et al. [
28] recently reported that the order assumption in class groups of imaginary quadratic fields does not hold in certain special classes of prime numbers. Some studies have explored alternative source groups of unknown order with a transparent setting. As an example, Dobson and Galbraith [
13] suggested the Jacobian of hyperelliptic curves of genus 3, whereas Lee [
29] pointed out that the order of the Jacobian of a hyperelliptic curve can be efficiently computed.
3. Preliminaries
Throughout the paper, denotes the security parameter written in unary. The function denotes a negligible function, i.e., . For a set S, we use to denote that an element e is sampled uniformly at random from S. For a probabilistic algorithm A, we write to denote that y is returned as the result of A on input x together with a randomness r picked internally.
3.1. The Discrete Logarithm Assumptions
Let be an algorithm that takes on input and returns a -bit prime number p, cyclic group of order p, and a generator g of .
Definition 1 (Discrete Logarithm Assumption).
The discrete logarithm assumption holds relative to if for any polynomial-time adversary ,
Definition 2 (Discrete Logarithm Relation Assumption).
The discrete logarithm relation assumption holds relative to if for any polynomial-time adversary ,
In the above definition,
for some
is called a non-trivial discrete logarithm relation. It is well-known that the discrete logarithm relation assumption is equivalent to the discrete logarithm assumption [
14].
3.2. Zero-Knowledge Arguments of Knowledge
Let be a polynomial-time-decidable binary relation. and are called a statement and a witness, respectively. We define as the set , which is called the language of . We consider an argument system for a relation consisting of three probabilistic polynomial-time algorithms . A non-interactive algorithm takes the security parameter as an input and returns a common reference string (crs) . and are called a prover and a verifier, respectively, and both are interactive algorithms. In addition, takes as input a triple of , a statement , and a witness . Moreover, takes as input a pair of and a statement and outputs 0 or 1. We denote the transcript produced by and for an interaction by and write , where if accepts and if rejects.
Definition 3 (Argument of Knowledge). We call the triple an argument of knowledge for relation if it has completeness and witness-extended emulation, as defined below.
Definition 4 (Perfect Completeness).
has perfect completeness if for all non-uniform polynomial-time adversaries , Definition 5 (Witness-Extended Emulation [
30,
31]).
has witness-extended emulation if for every deterministic polynomial-time prover there exists an expected polynomial-time emulator such that for all non-uniform polynomial-time adversaries , the difference between the following two probabilities is less than or equal to :where the oracle called by permits rewinding to any round and running again on fresh verifier randomness, and is the initial state of .
Definition 6 (Public Coin). An argument system is called public coin if the verifier chooses its messages uniformly at random, and independently of the messages sent by the prover, i.e., the challenges correspond to the verifier’s randomness.
We recall special honest verifier zero-knowledge, which states that the view of the verifier can be simulated if the verifier follows the protocol honestly and if challenges made by the verifier are known in advance.
Definition 7 (Perfect SHVZK).
A public coin argument system is called a perfect special honest verifier zero-knowledge (SHVZK) argument for relation if there exists a probabilistic polynomial-time simulator such that for all interactive non-uniform polynomial-time adversaries ,where ρ is the public coin randomness used by the verifier.
The general forking lemma [
6,
14] is useful for proving that an argument system has witness-extended emulation. Consider a public coin interactive argument system with
r rounds. We view
distinct accepting transcripts as having a tree format with depth
r and
leaves, which we call an
-tree. For
, let
be the
i-th round challenge chosen among exactly
values. The root node is labeled with a statement
s and has exactly
children labeled with a distinct value for
, where each edge from the root to a child is labeled with a message from the prover to the verifier on
. Similarly, each node in depth
is labeled with a distinct value for
and has
children labeled with a distinct value for
, where each edge from
to
is labeled with a message from the prover to the verifier on
. Note that each path from the root to a leaf then corresponds to an accepting transcript.
Lemma 1 (General Forking Lemma [
6,
14]).
Let be a public coin argument system for relation with r rounds. Let χ be a witness extraction algorithm that succeeds with overwhelming probability in extracting a witness from an -tree of accepting transcripts in probabilistic polynomial time. If is bounded above by a polynomial in the security parameter λ, has witness-extended emulation.
3.3. Commitment Schemes
We review the definitions and security properties regarding the polynomial commitment schemes. In the following, we use a tuple for arguments or a returned tuple of the prover and the verifier . In a tuple, before the semicolon and after it denotes public variables known to both and , and secret variables known to only , respectively.
Definition 8 (Commitment Scheme). A commitment scheme is a triple of probabilistic polynomial-time algorithms defined as follows:
takes the security parameter λ on input, and outputs the public parameter, which specifies a message space, a randomness space, and a commitment space;
takes a secret message m and an optional random r chosen uniformly at random on input and returns a commitment c and (optionally) a secret opening hint r;
verifies the commitment c to the message m provided with the opening hint r. It outputsif the commitment is valid andotherwise.
A commitment scheme is binding if for all non-uniform polynomial-time adversaries,
A commitment scheme is hiding if for all non-uniform polynomial-time adversaries,
In a polynomial commitment scheme,
additionally checks whether the evaluation at any point is correct with respect to the committed polynomial
given by
. The below definition of polynomial commitment schemes is given by Bünz et al. [
6], which extends that of Kate et al. [
10].
Definition 9 (Polynomial Commitment Scheme [
6,
10]).
Let be a commitment scheme for a message space over a ring R. A polynomial commitment scheme additionally consists of a protocol as follows:is an interactive public coin protocol betweenand. Bothandhave as input a commitment c, points, and a degree d. In addition, knows the opening of c to a secret polynomialwithand a secret opening hint r. convincesthatby applying the protocol.
3.4. Privacy-Preserving Blockchain with SNARKs
Recently, SNARKs have been receiving a lot of attention from the blockchain industry as a solution for balancing privacy and publicly-verifiable integrity. For instance, Zcash employs SNARKs to provide Bitcoin with user anonymity and privacy of transaction data with anonymous coins [
1]. SNARKs are also used to verify Ethereum smart contracts over private input [
2].
Figure 1 presents a high-level architecture of privacy-preserving blockchains with SNARKs. A typical way that SNARKs are used in blockchains is as follows. The real data is stored in off-chain storage. The data posted to the on-chain blockchain (blockchain ledger) consist of the commitment to the transaction and its proof that the target transaction is valid. Cryptographic commitment schemes ensure that it is very difficult to obtain the original input value from the committed value, and the proof generated using SNARKs can be verifiable by any node in the blockchain network. Therefore, the privacy problem is solved because the data is hidden in the public on-chain blockchain. In addition, since zero-knowledge techniques provide fast verification, they are being used in various ways to improve the performance and minimize the size of the blockchain. It is worth noting that a polynomial commitment scheme is a key building block to compile a polynomial IOP system, which is a formal representation of a proving statement, into a SNARK [
3,
6].
6. Extension to Zero-Knowledge Polynomial Evaluation
In this section, we extend the polynomial commitment scheme from
Section 4 to a zero-knowledge version. The zero-knowledge protocol enables the prover to convince the verifier that the prover has a polynomial
with
such that
for a public point
but does not leak any other information about
f that is formally defined in the notion of perfect SHVZK (Definition 7). For this, we require a hiding commitment scheme to polynomials, such as the generalization of the Pedersen commitment scheme, which uses randomness when generating a commitment [
32]. Below, we give a formal description of the generalization of the Pedersen commitment scheme
over the polynomials in
.
: On input of the security parameter , it first samples of a prime order p of length . It then chooses and returns .
: For a secret polynomial it selects and outputs with secret opening information .
: On input c and , a verifier computes and checks if in .
We present our zero-knowledge evaluation protocol
in Algorithm 2. The
protocol is also obtained by transposing the corresponding zero-knowledge evaluation protocol given by Bünz et al. under the discrete log setting [
6]. The basic idea is to mask the prover’s secret polynomial with a random polynomial using the blinding technique introduced in [
14,
19,
41] and then run the
protocol on it.
Algorithm 2) |
Common input: public parameter , commitment to , point , degree bound d Prover’s witness: secret polynomial , opening hint to
|
1: samples a random polynomial of degree d |
2: computes in for and in | //
|
3: sends to |
4: samples and sends it to |
5: computes in and in |
6: sends to |
7: and compute in and in | // and |
8: and run |
The protocol receives a hiding commitment to the prover’s secret polynomial on input, i.e., , which is perfectly indistinguishable to a random element in . To hand it over to the protocol, it is necessary to remove the randomization part from , which is equal to . However, because this reveals information on , the protocol lets the prover and the verifier collaboratively blind by (Line 5). Here, is a random polynomial selected by the prover (Line 1) and is a random number selected by the verifier (Line 4). Consequently, both the prover and the verifier succeed in generating a non-hiding commitment to under Π and the point , and then start the protocol (Lines 7–8).
Theorem 3. The protocol has perfect completeness, witness-extended emulation, and perfect SHVZK for a relationif the discrete logarithm relation assumption holds for .
Proof of Theorem 3.
(perfect completeness) We show that
has perfect completeness. Because the
protocol has perfect completeness (Theorem 1), it suffices to show that
c and
y are a valid input to
. That is,
c is the correct commitment to
under
and
y is the evaluation of
at
in
. Given
of a degree of at most
d and
of degree
d, we have
(witness-extended emulation) We show that
has witness-extended emulation. From Theorem 2, we have an expected polynomial-time extractor
that extracts
for the
protocol. Using
, we construct an extractor
to extract a witness
from
. The extractor
runs the prover to obtain
. At this point,
then rewinds the oracle
twice with distinct challenges
and
and obtains the corresponding commitments
and
to the witnesses
and
, respectively. Then,
runs
on inputs
and
and receives the corresponding witnesses
and
, respectively. Finally,
is able to extract the witness
from
and
, similarly to Lemma 2. This completes the proof of the witness-extended emulation. (perfect SHVZK) We construct the simulator
. Given only the public input, the simulator
outputs a simulated transcript that is identical to the valid transcript produced by the prover and the verifier in the real interaction. The simulator
first samples a random polynomial
of degree
d and
. In addition,
samples a random challenge
and computes
and
The simulator
then simply applies the
protocol honestly using
as the witness. Because in a real execution, the values
and
are distributed uniformly at random over
, the simulated
and
are identically distributed to real values. In addition, the real
and
) are distributed uniformly at random over
and
of degree
d, respectively, and the same distributions hold for the simulated
and
, respectively. The simulated
is also distributed uniformly at random over
, and thus the real
is, because of the perfect hiding property of the underlying commitment scheme. Clearly, the simulated
holds the relations
Finally, the protocol does not leak more than itself, which contains no information about . Therefore, the views of the simulated and real transcripts are identically distributed. This completes the proof of the perfect SHVZK. □