Link

ZKProof Standards

Table of contents

  1. ZKProof Standards Committee
  2. Plan for 2024/2025
  3. Example Working Groups (WGs)
  4. Useful ZKProof links for further context:

ZKProof Standards Committee

The revision of the ZKProof structure in 2023 created a new team focused on developing a process for Specifications and Standards. The “ZKProof Standards Committee” will coordinate a process for development of specifications by ZKProof Working Groups, and corresponding evaluation. These actions can be directed toward (i) future homologation of ZKProof community standards, or/and (ii) future submissions of ZKP specifications in reply to calls by other standardization bodies.

Since the 2nd half of 2023, the ZKProof Standards Committee has focused on motivating the creation of various Working Groups (WGs) that can develop concrete specifications. The first step to create a new ZKProof WG is contacting the Standards Committee by email: standards at zkproof dot org. Spontaneous proposals are welcome, including for WGs on topics not listed below, e.g., alternative constraint systems. To be considered for approval, there is a formal process for proposing the WG, which involves submitting an abstract and other information.

Plan for 2024/2025

The current main goal of the Standards Committe is to assist with the creation of WGs and support their development. One focus of interest is on modules useful for enabling a generic ZKP system, namely zk-SNARKs, as described in the following linear flow-chart:

  graph LR
      A[1. Constraint<br>System]-->B;
      B[2. Optimising<br>System]-->C;
      C[3. Interactive<br>Oracle Proof]-->D;
      D[4. Polynomial<br>Commitments]-->E
      E[5. Non-Interactiveness<br>Compiler]
      click A "https://docs.zkproof.org"
      click B "https://docs.zkproof.org"
      click C "https://docs.zkproof.org"
      click D "https://docs.zkproof.org"
      click E "https://docs.zkproof.org"

It is also important to consider how to put together the various modules. Additionally, WGs can be created for developing relevant specifications that may be outside the scope of the above flowchart, as is the case with Sigma Protocols.

Example Working Groups (WGs)

More information on existing and past WGs can be found in the dedicated ZKProof wepage of Working Groups. The following is a list topics and corresponding WGs that have either been created or whose creation is being promoted. A WG usually focuses on a concrete specification/implementation, rather than covering all ZKP possibilities within its topic/scope.

WGs for modules useful for generic SNARKs:

  1. Constraint System: The PLONKish WG is developing a specification for a PLONKish constraint system, including the encoding of constraint systems for various key-applications, such as for proving knowledge of a secret/private key or pre-image of various cryptographic primitives (e.g., related to a blockcipher AES, hash-functions SHA2/SHA3, and signatures RSA/ECDSA/EdDSA).
  2. Optimising System: A conceivable WG could formally specify optimisations applicable to some constraint system (e.g., for Plonkish).
  3. Interactive Oracle Proof (IOP): A conceivable WG could develop a specification for a Polynomial IOP (PolyIOP) as the information theoretic layer of a proving system (see details in chapter 2 of ZkpComRef 0.3).
  4. Oracle Compiler: The Oracle Compiler WG is developing a specification for a generic compiler for converting a PolyIOP into an interactive argument/proof using polynomial commitments. The compiler should be agnostic to the polynomial commitment scheme being used. Each polynomial commitment scheme would be covered by a separate WG.
  5. Non-Interactivenss (NI) compiler: The Fiat-Shamir WG is developing a specification for the Fiat-Shamir transformation.

Other WGs:

  • Sigma Protocols: The Sigma Protocols WG is developing a specification about $\Sigma$-protocols, which are mature, stable, well-understood, standalone protocols suitable for important, simple relations. The WG aims to bridge across various external efforts, including by IETF (OPRF, Schnorr), NIST (Threshold Call), and W3C (BBS+ signatures). The WG takes in consideration various past interventions that suggested the need for standardization of Schnorr proofs, such as a letter to NIST (2016) and a keynote by Camenish (2019).

For comments and updates, please email standards at zkproof dot org