Table of Contents
Fetching ...

Collaborative CP-NIZKs: Modular, Composable Proofs for Distributed Secrets

Mohammed Alghazwi, Tariq Bontekoe, Leon Visscher, Fatih Turkmen

TL;DR

This work formalizes collaborative CP-NIZKs, a modular framework for proving knowledge of witnesses distributed across multiple provers and enables composing proofs from heterogeneous NIZK schemes. By integrating commit-and-prove concepts with MPC, and introducing CP_link to connect internal and external commitments, the approach supports efficient PA-MPC and publicly verifiable computations. The authors implement and evaluate collaborative Groth16 and Bulletproofs within Arkworks, showing modest overhead from composition while achieving substantial latency reductions (18–55×) and minimal communication (around 0.2% of prior approaches) in realistic scenarios. The results demonstrate scalable performance benefits when splitting proofs and combining prover groups, with guidance on selecting LegoGro16 for large circuits and Bulletproofs for smaller ones to maximize efficiency.

Abstract

Non-interactive zero-knowledge (NIZK) proofs of knowledge have proven to be highly relevant for securely realizing a wide array of applications that rely on both privacy and correctness. They enable a prover to convince any party of the correctness of a public statement for a secret witness. However, most NIZKs do not natively support proving knowledge of a secret witness that is distributed over multiple provers. Previously, collaborative proofs [51] have been proposed to overcome this limitation. We investigate the notion of composability in this setting, following the Commit-and-Prove design of LegoSNARK [17]. Composability allows users to combine different, specialized NIZKs (e.g., one arithmetic circuit, one boolean circuit, and one for range proofs) with the aim of reducing the prove generation time. Moreover, it opens the door to efficient realizations of many applications in the collaborative setting such as mutually exclusive prover groups, combining collaborative and single-party proofs and efficiently implementing publicly auditable MPC (PA-MPC). We present the first, general definition for collaborative commit-and-prove NIZK (CP-NIZK) proofs of knowledge and construct distributed protocols to enable their realization. We implement our protocols for two commonly used NIZKs, Groth16 and Bulletproofs, and evaluate their practicality in a variety of computational settings. Our findings indicate that composability adds only minor overhead, especially for large circuits. We experimented with our construction in an application setting, and when compared to prior works, our protocols reduce latency by 18-55x while requiring only a fraction (0.2%) of the communication.

Collaborative CP-NIZKs: Modular, Composable Proofs for Distributed Secrets

TL;DR

This work formalizes collaborative CP-NIZKs, a modular framework for proving knowledge of witnesses distributed across multiple provers and enables composing proofs from heterogeneous NIZK schemes. By integrating commit-and-prove concepts with MPC, and introducing CP_link to connect internal and external commitments, the approach supports efficient PA-MPC and publicly verifiable computations. The authors implement and evaluate collaborative Groth16 and Bulletproofs within Arkworks, showing modest overhead from composition while achieving substantial latency reductions (18–55×) and minimal communication (around 0.2% of prior approaches) in realistic scenarios. The results demonstrate scalable performance benefits when splitting proofs and combining prover groups, with guidance on selecting LegoGro16 for large circuits and Bulletproofs for smaller ones to maximize efficiency.

Abstract

Non-interactive zero-knowledge (NIZK) proofs of knowledge have proven to be highly relevant for securely realizing a wide array of applications that rely on both privacy and correctness. They enable a prover to convince any party of the correctness of a public statement for a secret witness. However, most NIZKs do not natively support proving knowledge of a secret witness that is distributed over multiple provers. Previously, collaborative proofs [51] have been proposed to overcome this limitation. We investigate the notion of composability in this setting, following the Commit-and-Prove design of LegoSNARK [17]. Composability allows users to combine different, specialized NIZKs (e.g., one arithmetic circuit, one boolean circuit, and one for range proofs) with the aim of reducing the prove generation time. Moreover, it opens the door to efficient realizations of many applications in the collaborative setting such as mutually exclusive prover groups, combining collaborative and single-party proofs and efficiently implementing publicly auditable MPC (PA-MPC). We present the first, general definition for collaborative commit-and-prove NIZK (CP-NIZK) proofs of knowledge and construct distributed protocols to enable their realization. We implement our protocols for two commonly used NIZKs, Groth16 and Bulletproofs, and evaluate their practicality in a variety of computational settings. Our findings indicate that composability adds only minor overhead, especially for large circuits. We experimented with our construction in an application setting, and when compared to prior works, our protocols reduce latency by 18-55x while requiring only a fraction (0.2%) of the communication.
Paper Structure (30 sections, 2 theorems, 10 equations, 13 figures)

This paper contains 30 sections, 2 theorems, 10 equations, 13 figures.

Key Result

Theorem 1

If $(\pcalgostyle{KeyGen}\xspace,\pcalgostyle{Prove}\xspace,\pcalgostyle{Verify}\xspace)$ is nizk argument of knowledge for $\mathcal{R}_\secpar\xspace$, and $\Pi$MPC protocol for Prove for $N$ parties that is secure-with-abort against $t$ corruptions, then $(\pcalgostyle{KeyGen}\xspace,\Pi\xspace,\

Figures (13)

  • Figure 1: Collaborative bulletproof protocol for arbitrary arithmetic circuits
  • Figure 2: Sub-protocol $\Pi_{DBP}$ for collaboratively generating bulletproofs for arbitrary arithmetic circuits
  • Figure 3: Runtime per prover party for bulletproofs: (1) Collaborative with $\pcalgostyle{CP}\xspace_\text{link}$ (col-cp-bp), (2) Collaborative (col-bp), (3) Single prover (bp).
  • Figure 4: Runtime per prover party for: (1) Collaborative LegoGro16 (col-cp-gro16), (2) Collaborative Groth16 (col-gro16), (3) Single prover Groth16 (gro16).
  • Figure 5: Runtime per prover party for varying number of constraints and prover group sizes.
  • ...and 8 more figures

Theorems & Definitions (7)

  • Theorem 1
  • Definition 1: Commitment-enhanced relation
  • Definition 2: Collaborative *cpnizk argument of knowledge
  • Definition 3: cCP-SNARK
  • Theorem 2
  • proof
  • Definition 4: Pedersen vector commitment