Univarite polynomials are functions of the form with a single scalar input (univariate) and a scalar output. Coefficients of a univariate polynomial of maximal degree ( etc. must be considered, hence maximal qualifier) uniquely identifies it and differentiates it from other univariate polynomials of maximal degree .
On the other hand, this is not the only way to identify and represent a polynomial of maximal degree . Knowing the evaluation of the polynomial at any unique points, also identifies and represents such a polynomial, i.e. given a unique set of points , is a representation that identifies among all such polynomials as well. Mapping this representation to the polynomial is accomplished through Lagrange interpolation.
The goal of this chapter is to discuss commitments to univariate polynomials. An obvious question that follows is, since we can represent a polynomial as the coefficient vector or the evaluation vector of length , can we not simply commit to these representation vectors and be done? Are vector commitment schemes equivalent to univariate polynomial commitment schemes?
Vector commitment schemes are not equivalent to polynomial commitment schemes. Even though polynomials can be represented by these fixed length vectors, a polynomial commitment scheme in our classification requires the ability to open/reveal evaluations of the polynomial at random points without revealing the entire polynomial (hiding property), which is not possible when we commit directly to these vector represenations instead and open them through the vector commitment scheme.
Evaluating a polynomial at distinct random points as many times as the degree of the polynomial could in principle reveal the entire polynomial (this would require knowing the maximal degree first). However, single point evaluations should reveal minimal information for the commitment scheme to be classified a polynomial commitment.
In other words, if we commit to or using a vector commitment scheme, and wish to create an opening for a random point (not in ) and validate its evaluation candidate to the public, we cannot do so without revealing the entire set of coefficients of the polynomial. This is due to the fact that a vector commitment scheme is designed only for accommodating partial openings of the vector and therefore it can partially open a coefficient (or an evaluation at a point in ) but not the evaluation of the polynomial at a random point.
However, as we will see later in our reduction of polynomial commitment schemes to vector commitment schemes, any polynomial commitment can simulate a vector commitment, as we can simply commit to a polynomial with the desired vector as the evaluations of the polynomial at some unique set of points , i.e. by committing to the polynomial represented by , using Lagrange interpolation first to obtain from .
Next we discuss some of the methods designed to commit to a polynomial directly and not just to a vector representation of such as and .
The first polynomial commitment scheme we present is based on encryption with groups of known order (discrete logarithm). It is a very inefficient scheme as it produces a very large digest of size , where the maximal degree of the polynomials the scheme can handle is . As it looks similar to vector commitments we are familiar with from the last chapter in some ways, we begin our discussion with this scheme.
Given a polynomial with coefficient vector , which we will refer to as the message for consistency, the following are the algorithms of the scheme that commits to .
Efficiency: The space/communication complexity of the digest is group elements (whose size depends on the group size and representation) and the opening proofs are empty.
The complexity of the commitment algorithm is group operations in , using fast exponentiation such as the square & multiply algorithm. The opening algorithm has no cost as it does nothing.
The complexity of the verification algorithm is group operations in , using fast exponentiation.
The scheme does not require a trusted-setup algorithm.
Next, we discuss Kate commitments, a polynomial commitment scheme with many real world applications. Similar to the scheme above, it relies on a group of known order (an elliptic curve is used) and DL assumptions, but in addition, it also requires the group to be pairing-compatible (as it uses a pairing in its verification algorithm) and requires a trusted-setup. We will assume some knowledge of pairings in this discussion.
These additional requirements results in significant improvements to the space efficiency of the scheme, i.e. both the digest and the opening proof for any point is of constant size. For example, this makes Kate scheme the ideal candidate to be used for Verkle tree node level vector commitments after the reduction. There are many other places, such as zero-knowledge proofs and zk-SNARKs, where Kate commitments come up as an important tool.
Let us give the formal definitions of the algorithms of the scheme as usual. We will again assume that the maximum order the scheme can handle is .
The opening and the verification algorithms depends on the following algebraic property of polynomials: Given a polynomial of maximal degree , for any in the domain of , we can shift the polynomial vertically, , such that this new polynomial has a root (passes through zero) at , which means that is a perfect divisor/factor of . The quotient polynomial has a maximal degree of with coefficients . A noteworthy relation to keep in mind is .
The verification algorithm is the most intricate part of this scheme, where pairing of the group becomes important. Since for any and , we know that , which is equivalent to , can be used to check whether a digest , an opening proof and an evaluation candidate for fit together. This is easier said then done however, as it requires both solving the discrete logarithm problem for the group, as well as utilizing the unknown private key .
Let us first see what happens when we group encrypt both sides of the equation, , which can be simplified as (which requires knowing to be useful) or (which requires solving DL to be useful). As we can see, dealing with group encrypted version of things does not help much in this case. is the real problematic term and this is where pairings come into play to break this exponent to an expression involving and separately.
Among other properties, pairings are functions that have the property, . We can use this property to split up the problematic expression, by considering instead of . Clearly, this expression can be written as using the property given. So, instead of looking at the group encrpyted version of the relationship between , and , let us consider the pairing encrpyted version, which simplifies more favorably.
This final simplification does not require knowledge of the private key nor the ability to solve the DL problem in . It only requires efficient evaluation of the pairing function , along with regular group operations. Therefore, Kate commitment scheme uses the pairing in its validation algorithm with this final expression. Let us define the validation algorithm formally as well.
Efficiency: The space/communication complexity of the digest and the opening proof for any evaluation point is a single group element (whose size depends on the group size and representation).
The complexity of the commitment algorithm is group operations in , using fast exponentiation such as the square & multiply algorithm. The opening algorithm is similar, .
The complexity of the verification algorithm is group operations in using fast exponentiation, plus a constant number of evaluations of the pairing function.
The scheme requires a trusted-setup algorithm. Getting rid of the private key as toxic waste is imperative and usually requires a cumbersome public ceremony of sorts.
Given a univariate polynomial commitment , it is straightforward to simulate a vector commitment through the following reduction:
The simple idea is to wrap the vector message as a polynomial passing through the values of the vector at the index points and using the polynomial commitment algorithms to simulate the vector commitment by committing to that polynomial. The polynomial used is unique as it is created through Lagrange interpolation, which creates the lowest degree unique polynomial passing though those points.
In the next chapter, we discuss multilinear polynomial commitment schemes, which are commitments to polynomials with multiple inputs where each term in the polynomial is linear w.r.t. each individual input variable. This is a more restricted class of multivariate polynomials, which normally would accommodate every term in the polynomial to be nonlinear in each input variable.
Intro: A Hierarchical View of Cryptographic Commitment Schemes
Previous: Vector Commitments
Next: Multilinear Polynomial Commitments