We now apply the product proof in [ALS20] from the computationally indistinguishable masked opening to [BLS19]. A baseline protocol for the exact proof follows:
The prover sends out and , where and , and samples to commit
The verifier challenges by sending .
The prover replies with , and starts and the shortness check in [ALS20] by:
The prover derives , replies , then it commits
| (4.32) |
and replies , and the claim .
The verifier samples over the challenge set , with each coefficient has , .
The prover runs rejection sampling, and outputs .
The verifier checks by ensuring being short, ,
and the shortness check from the product proof in [ALS20] by
| (4.33) |
where for .
The 2 garbage terms defined in eq. 4.32 derive from the degree-3 shortness check over from the product proof over the masked opening, similar to the one in [ALS20]:
Hence, when is the masked opening for , we let the garbage terms defined in eq. 4.32, such that
so can cancel out the computationally indistinguishable masking in , and the claim is
where a satisfying should be vanishing in .
The current baseline protocol deviates from [BLS19], as was needed for both the random linear combination to embed to (later proved by the linear relation proof), and the shortness check from the product proof, now only serves the first purpose.
Now we move forward and amplify the soundness for the baseline protocol via automorphism repetition, such that the BDLOP commits to uniform maskings, 1 message, and 2 garbage terms for shortness check. The masked openings for the garbage terms, and the combined claim, are formed as
| (4.34) |
such that the random linear combination yields the statement and the invariant for combined claim
| (4.35) |
The amplified baseline protocol follows:
The prover sends out and , where and , and samples to commit
The verifier challenges by sending and .
The prover replies with for , and starts and the shortness check in [ALS20] by:
The verifier samples over the challenge set , with each coefficient has , .
The prover runs rejection sampling, and outputs for .
But now the baseline protocol augmented with automorphism repetition is more like the prior attempt to amplify soundness for product proof with automorphism repetition. The shortness proof itself needs 2 garbage terms, while the linearity test for each repetition needs separate masking terms. A question arises that how can BDLOP commits to only a constant number of messages, while we can still amplify the soundness.
We consider an interactive protocol testing the matrix multiplication statement without : Consider a linear prover, which is bound to a witness chosen before the challenge, and must return the verifier-specified linear evaluation of the witness, then
The verifier challenges by .
The prover replies with .
The verifier checks .
By Schwartz-Zippel, if , over the randomness of , the probability of is .
Put it in the polynomial ring computation over the NTT terms, we first consider the lemma in [ENS20].
Let be defined as eq. 4.14, , and for , then when we lift to , we have
Consider , then by lemma 4.13.1, is in the constant coefficient of .
The prover sends out , where , samples and , to commit
The verifier challenges by sending .
The prover replies with , and starts and the shortness check in [ALS20] by:
The prover derives , replies , then it commits
and replies , and the claim .
The verifier samples over the challenge set , with each coefficient has , .
The prover runs rejection sampling, and outputs .
The prior construction from NTT averaging suffices as a single repetition, but for soundness amplification by automorphism repetition, the masking term over makes it admissible for only a single repetition.
We now want a way to filter out coefficients over via linear operations and automorphisms, or otherwise the new linearity test is no better than the [BLS19] one.
We start by an observation that can filter out all the odd powered coefficients. Since
then
Then, in rounds, the automorphisms can yield
Moreover, after round for , all the automorphisms used are indexed by .
For and , then for any ,
Moreover, when ,
| (4.36) |
Now with lemma 4.13.2, each repetition can be mapped to coefficients of degree in , by multiplying terms , then the masking term can be relaxed to , the responses masked by is,
| (4.37) |
which can be derived from the commitment
| (4.38) |
where commits to , and commits to .
Yet, there are automorphism terms in eq. 4.38, and the prior vanilla no longer suffices. We start by stepping back and thinking up a way to prove linear relation over 2 BDLOP commitments from different commitment keys (assuming they are of same size). Supposing they commit to and , by sampling , and
and is the public statement. The protocol works as follows:
The prover samples , and outputs , , and .
The verifier challenges with over the challenge set , where each coefficient has , .
The prover runs rejection sampling, and replies and .
The verifier checks and are short, and
The soundness is at most by eq. 4.18. Automorphism repetition can be applied to have soundness to at most .
With this protocol, we can actually prove the public statement of automorphism filtering for committed . The intuition was to view and as different commitment keys, where for some and , and the commitment is formed from by
The prover samples , outputs for , and
| (4.39) |
The verifier challenges with over the challenge set , where each coefficient has , .
The prover runs rejection sampling, and replies for .
The verifier checks are short for , and
| (4.40) |
The soundness is at most by eq. 4.18. Now take a closer look: The prior protocol uses to test the automorphism filtering via the linear relation test over distinct BDLOP commitment keys in eq. 4.40. For automorphism repetition, think concretely from , then the next to send before is
and eq. 4.40 becomes
By induction,
| (4.41) |
Supposing a slot under the slots grouped by is wrong, then the adversary needs to guess to convince the verifier, with the same strategy for the affine forging in weak opening in the note for [ALS20], by fixing the pre-challenge for the relevant error term, yielding the soundness of at most , where is eq. 4.18 for the guessing probability of each coefficient in coarse .
The rest is to prove the automorphism filtering of each for by stacking them up over , normalizing by , masking by , and eventually eq. 4.37. To carry on the automorphism filtering test derived from the linearity test, each derived from eq. 4.39 is indexed by for each by
Correspondingly, the verifier can derive
and on the third round prover response, by eq. 4.41, for each automorphic challenges ,
| (4.42) |
and the verifier can derive correspondingly
| (4.43) |
such that for each automorphic challenges ,
| (4.44) |
Again, now the masked openings for the garbage terms, and the combined claim, are formed as
| (4.45) |
such that the random linear combination yields the statement and the invariant for combined claim
| (4.46) |
where for , each for is
and the second equality holds if the prover is honest.
The protocol for a single matrix multiplication claim follows:
The prover sends , where , samples and to commit
The verifier challenges by sending and .
The verifier checks being short, for .
Finally, it checks the shortness of by the second equality eq. 4.46.
We compare the published noninteractive constructions of [BLS19, ENS20] by counting transmitted elements and their coefficient widths.
Let be the total witness length, , be the degree, and . We retain for the opening-vector width and for the top commitment rank. Counts exclude the public statement and commitment key. The following are the papers’ historical parameter choices for approximately 128-bit security.
| Parameter | BLS19 | ENS20 |
|---|---|---|
| Matrix dimensions | ||
| Coefficient width | ||
| Ring degree | ||
| Witness polynomials | ||
| Repetitions | , | |
| Commitment ranks |
In particular, ENS separates the witness length from the ring degree: Their example uses 16 witness polynomials.
BLS: transmitted objects. In the optimized Fiat–Shamir protocol of [BLS19, Algorithms 2–3 and Section 3.4], each of the commitment vectors has five ring elements, with one shared across repetitions. There are masked witness replies and short opening vectors of width 6.
| Component | Count | Bits per coefficient or choice |
|---|---|---|
| Commitments | ring elements | |
| Masked witness replies | ring elements | |
| Short opening replies | ring elements | |
| Scalar challenges | scalars | |
| Monomial challenges | choices |
Here and for the power-of-two benchmark. The proof size in bits is therefore
| (4.47) |
For , the short-coefficient width is . Substituting the benchmark parameters gives
| Component | Calculation in bytes | Size |
|---|---|---|
| Full part | KiB | |
| Short part | KiB | |
| Challenges | bytes | |
| Total | KiB |
ENS: transmitted objects. For witness polynomials, the committed message count and opening width are
The additional 3 messages are the linear-test mask, and the two shortness garbage terms.
Besides the commitment elements, ENS transmits one masked linear-test polynomial, called in the paper. For our single-polynomial notation it is the publicly centered response
so its first coefficients are known to be zero. After reconstructing the first messages, the remaining short replies contain ring elements. With , [ENS20, Section 4.2, Equation (11)] gives the basic bit count
| (4.48) |
This leading count omits the 256-bit challenge seed and the saving from the known coefficients of .
For bookkeeping, insert from [ENS20, Appendix B.1], so , , and :
| Component | Calculation in bytes | Size |
|---|---|---|
| Full part | KiB | |
| Short part | KiB | |
| Basic total | KiB |
Although ENS has more short polynomials ( versus ), it has short coefficients, compared to BLS’s . ENS and BLS contain and full ring elements, respectively, or and coefficients.