Hi (not one of the authors on this, but one of the Zerocash&#x2F;ZCash authors and a co-worker of Sean&#x27;s)<p>This isn&#x27;t the case with SNARKs, they are zero-knowledge no matter what. For a generic zero-knowledge proof, what you point out is completely true. You are not guaranteed   zero-knowledge if the CRS is maliciously generated.<p>For SNARKS, the proofs become zero-knowledge simply by the prover adding in randomness to his proof. This holds even if the verifier generates the CRS maliciously. Indeed, the original use of SNARKS was for verifiable computation where this was exactly what was done. See section 1.2,3.2, and 4.4 of [0]. In particular, note the last paragraph  of 4.4  where the verifier is generating the CRS.<p>(The point you raise about the simulator is a complex one.  Zero-knowledge is an existential statement that there can exist such a simulator, therefor all proofs even when there clearly isn&#x27;t one are zero-knowledge. The verifier can create a CRS and not tell anyone the information needed to simulate, but that information still exists and we could still, in theory, construct a simulator using it. Therefor the thing is zero-knowledge in both theory and practice. This is not always the case with all proof systems.)<p>[0]<a href="https:&#x2F;&#x2F;eprint.iacr.org&#x2F;2012&#x2F;215.pdf" rel="nofollow">https:&#x2F;&#x2F;eprint.iacr.org&#x2F;2012&#x2F;215.pdf</a>