gnark mpcsetup
Phase 1 and phase 2 tooling
gnark mpcsetup: Phase 1 and phase 2 tooling. Go implementation of the two-phase Groth16 MPC setup inside the gnark proving library, exposing contribution, verification and sealing as ordinary library calls. Maturity: Maintained; smaller ceremony track record. Maintained by: Consensys (gnark team). Choose it when: Teams whose circuits are written in gnark and who want the ceremony in the same toolchain as the prover.
What it is
Go implementation of the two-phase Groth16 MPC setup inside the gnark proving library, exposing contribution, verification and sealing as ordinary library calls. Phase 2 initialises from a phase-1 file plus the circuit's constraint system.
Strengths and tradeoffs
- Native to a Go proving stack, avoiding cross-language artefact conversion
- Ceremony automation and per-contribution verification are straightforward to script
- Part of an actively maintained general proving library rather than a single-purpose script
- Far fewer public ceremonies have been run with it, so less community-tested operational guidance
- Interoperating with snarkjs .ptau files requires a converter
- BN254-focused; check curve coverage before assuming parity with snarkjs
Choose it whenTeams whose circuits are written in gnark and who want the ceremony in the same toolchain as the prover.
Related pages
Sources cited on this page · 2
All 42 sources for §04 are listed on the section page →
Cite this page
MarketComp (2026). gnark mpcsetup. The ZK Field Manual (Version 1.3). MarketComp. https://zkpick.com/ceremony/gnark-mpcsetup/
@misc{zkfieldmanual-gnark-mpcsetup,
title = {gnark mpcsetup — The ZK Field Manual},
author = {MarketComp},
year = {2026},
version = {1.3},
howpublished = {\url{https://zkpick.com/ceremony/gnark-mpcsetup/}},
note = {Accessed: YYYY-MM-DD}
}