Link

ZKProof Working Groups (WG)

Table of contents

  1. Working Groups since 2024
    1. Fiat-Shamir Compiler
    2. Oracle Compilers
    3. Plonkish Constraint System
    4. Sigma Protocols
  2. Working groups prior to 2022
  3. Other Discussion Groups

The purpose of this webpage is to identify current and past ZKProof Working Groups, and provide quick links to some of their reference material. ZKProof supports the dissemination of WG’s reference material for community discussion, but each WG is reponsible for their own goals and documentation, including the descriptions provided below.

Working Groups since 2024

Since the creation of the ZKProof Standards Committee (2023), and the process for WG creation (2024), the following groups have been created:

Fiat-Shamir Compiler

The Fiat-Shamir heuristic is a method for transforming a public-coin interactive proof into a non- interactive proof via cryptographic hash functions. This project aims to bridge the theoretical and practical aspects of the Fiat-Shamir transforms. The WG’s goal is to develop a technique that is easy to implement using sponge functions, algebraic hashes, and the NIST SHA2 API (update and digest) now used in most programming languages.

  • Team contact: [TBA]
  • Main repo: [TBA]

Oracle Compilers

An oracle compiler converts an interactive oracle proof (IOP) into an interactive proof (IP). In practice, this involves composing the IOP with a cryptographic commitment scheme, resulting in an interactive argument. The primary purpose of the Oracle Compiler Working Group is to define a high-level interface between IOPs and commitment schemes, informed by protocols and implementations being used in the wider community. Details relating to only IOPs (e.g. rounds of interaction) are not in the scope of this working group.

  • Team contact: zkproof-oracle-compilers(at)googlegroups(dot)com
  • Main repo: [TBA]

Plonkish Constraint System

An arithmetisation is a language that a proof system uses to express statements. A circuit is a program in this language. The associated computation has been computed correctly if and only if all of the constraints in the circuit are satisified. The primary purpose of this ZKProof Working Group is to specify a particular arithmetisation: the “Plonkish” arithmetisation used in the Halo 2 proving system.

  • Team contact: plonkish-team(at)googlegroups(dot)com
  • Main repo: https://github.com/zkpstandard/wg-plonkish

Sigma Protocols

Sigma ($\Sigma$) protocols, introduced by Schnorr in 1991, play an essential component in the building of a number of cryptographic constructions, such as anonymous credentials, password-authenticated key exchange, signatures, ring signatures, blind signatures, multi-signatures, threshold signatures and more. This WG (continuing the work proposal submitted in 2021 to ZKProof Workshop 4) develops guidelines for correctly implementing Sigma protocols.

  • Team contact: sigma-protocols(at)zkproof(dot)org
  • Main repo: https://github.com/zkpstandard/wg-sigma-protocols

Working groups prior to 2022

Between 2019 and 2021, ZKProof motivated the submission of proposals for specifications, and the creation of various working groups.

Throughout various ZKProof workshops, “proposals” were submitted for discussion by the community. Some of these led to the creation of “working groups” (WG) intended to subsequently develop/refine/improve the proposals, possibly toward future standards. While they have not been subject to any formal process for subsequent standardization, they have produced various documents (see below) that may serve as useful reference material.

Note: there is another webpage with a list of initial proposals submitted to ZKProof workshops.

# WG Name (Telegram Group) Goal Repo Documents
1 Commit-and-Prove ZKP Systems & Extensions (TG) Standardize how to modularly create verifiable commitments and ciphertexts with any ZK system repo W2, W3, W4, Notes, Slides, Charter
2 Σ-protocols (TG) Standardize ZK interactive sigma protocols repo W4
3 DAPOL (TG) v W3, CCS21, ACNS21, Notes
4 zkInterface (TG) Standardize interoperability between frontends and backends in ZK systems repo W2, W3, Notes
5 Snark-Friendly Primitives (TG) Standardize the use of specific cryptographic primitives inside of the circuit of a ZK system repo Charter, Notes

Other Discussion Groups

# WG Name (Telegram Group) Goal Repo Documents
1 Groth16 & SnarkPack (TG) Standardize Groth16 and aggregation/amortization methods W4, Notes
2 Rinocchio: SNARKs for Ring Arithmetic (TG) Standardize a generic method for using ZK over rings, yielding efficiency improvements for some applications W4, Notes
3 Leo: A Programming Language for Formally Verified ZK Applications (TG) Standardize the fundamental components of a ZK language W4, Notes

Legend: W2 = paper @ 2th workshop; W3 = paper @ 3rd workshop; W4 = paper @ 4th workshop.

For comments and updates, send email to standards at zkproof dot org