We propose a generic compiler that can convert any zero-knowledge (ZK) proof for SIMD circuits to general circuits efficiently, and an extension that can preserve the space complexity of the proof systems. Our compiler can immediately produce new results improving upon state of the art.By plugging in our compiler to Antman, an interactive sublinear-communication protocol, we improve the overall communication complexity for general circuits from O(C3/4) to O(C1/2). Our implementation shows that for a circuit of size 227, it achieves up to 83.6× improvement on communication compared to the state-of-the-art implementation. Its end-to-end running time is at least 70% faster in a 10Mbps network.Using the recent results on compressed Σ-protocol theory, we obtain a discrete-log-based constant-round zero-knowledge argument with O(C1/2) communication and common random string length, improving over the state of the art that has linear-size common random string and requires heavier computation.We improve the communication of a designated n-verifier zero-knowledge proof from O(nC/B+n2B2) to O(nC/B+n2). To demonstrate the scalability of our compilers, we were able to extract a commit-and-prove SIMD ZK from Ligero and cast it in our framework. We also give one instantiation derived from LegoSNARK, demonstrating that the idea of CP-SNARK also fits in our methodology.
Read full abstract