In this paper, we introduce FlexProofs, a new vector commitment (VC) scheme that achieves two key properties: (1) the prover can generate all individual opening proofs for a vector of size $N$ in optimal time ${\cal O}(N)$, and there is a flexible batch size parameter $b$ that can be increased to further reduce the time to generate all proofs; and (2) the scheme is directly compatible with a family of zkSNARKs that encode their input as a multi-linear polynomial. As a critical building block, we propose the first functional commitment (FC) scheme for multi-exponentiations with batch opening. Compared with HydraProofs, the only existing VC scheme that computes all proofs in optimal time ${\cal O}(N)$ and is directly compatible with zkSNARKs, FlexProofs may speed up the process of generating all proofs, if the parameter $b$ is properly chosen. Our experiments show that for $N=2^{16}$ and $b=\log^2 N$, FlexProofs can be $6\times$ faster than HydraProofs. Moreover, when combined with suitable zkSNARKs, FlexProofs enable practical applications such as verifiable secret sharing and verifiable robust aggregation.
翻译:本文介绍了FlexProofs,一种新的向量承诺方案,该方案实现了两个关键特性:(1)证明者能够以最优时间${\cal O}(N)$为大小为$N$的向量生成所有个体打开证明,并且存在一个灵活的批量大小参数$b$,可通过增大该参数进一步缩短生成所有证明的时间;(2)该方案可直接与一类将输入编码为多线性多项式的zkSNARK兼容。作为关键构建模块,我们提出了首个支持批量打开的多指数运算功能承诺方案。与目前唯一能在最优时间${\cal O}(N)$内计算所有证明且直接兼容zkSNARK的向量承诺方案HydraProofs相比,若参数$b$选择得当,FlexProofs可加速生成所有证明的过程。实验表明,当$N=2^{16}$且$b=\log^2 N$时,FlexProofs可比HydraProofs快$6$倍。此外,当与合适的zkSNARK结合时,FlexProofs能够支持可验证秘密共享和可验证鲁棒聚合等实际应用。