Cryptology ePrint Archive: Report 2017/587

Subversion-zero-knowledge SNARKs

Georg Fuchsbauer

Abstract: Subversion zero knowledge for non-interactive proof systems demands that zero knowledge (ZK) be maintained even when the common reference string (CRS) is chosen maliciously. SNARKs are proof systems with succinct proofs, which are at the core of the cryptocurrency Zcash, whose anonymity relies on ZK-SNARKs; they are also used for ZK contingent payments in Bitcoin.

We show that under a plausible hardness assumption, the most efficient SNARK schemes proposed in the literature, including the one underlying Zcash and contingent payments, satisfy subversion ZK or can be made to at very little cost. In particular, we prove subversion ZK of the original SNARKs by Gennaro et al. and the almost optimal construction by Groth; for the Pinocchio scheme implemented in libsnark we show that it suffices to add 4 group elements to the CRS. We also argue informally that Zcash is anonymous even if its parameters were set up maliciously.

Category / Keywords: cryptographic protocols / SNARKs, subversion-resistance, zero knowledge, Zcash

Original Publication (with major differences): IACR-PKC-2018

Date: received 16 Jun 2017, last revised 16 May 2020

Contact author: fuchsbau at di ens fr

Available format(s): PDF | BibTeX Citation

Note: This version incorporates the corrections of the BCTV14 scheme (, version 20190205) and some small fixes on p. 26.

Version: 20200516:083303 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]