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,一种新的向量承诺(VC)方案,其具备两个关键特性:(1)证明者能够以最优时间${\cal O}(N)$为大小为$N$的向量生成所有个体开放证明,且存在一个灵活的批量大小参数$b$,可通过增大该参数进一步缩短生成所有证明的时间;(2)该方案可直接兼容一类将输入编码为多重线性多项式的zkSNARKs。作为关键构建模块,我们提出了首个支持批量开放的多指数运算功能承诺(FC)方案。与HydraProofs——目前唯一能在最优时间${\cal O}(N)$内计算所有证明且直接兼容zkSNARKs的现有VC方案相比,若参数$b$选择得当,FlexProofs可加速生成所有证明的过程。实验表明,当$N=2^{16}$且$b=\log^2 N$时,FlexProofs可比HydraProofs快$6$倍。此外,当与合适的zkSNARKs结合时,FlexProofs能够支持可验证秘密共享和可验证鲁棒聚合等实际应用。