/zkreference

The official repository hosting the ZKProof Community Reference & Proposals documents.

Primary LanguageTeX

zkreference

This is the official repository of the ZKProof Community Reference (ZkpComRef) and of the Community Proposals submitted to ZKProof. The ZkpComRef is a live document that is developed and written in a collaborative manner within the ZKProof Standardization effort. Its purpose is to provide a reference for the development of zero-knowledge-proof technology that is secure, practical and interoperable. The document intends to be accessible to a large audience, including the general public, the media, the industry, developers and cryptographers.

Latest Version

The version 0.2 of the ZkpComRef is dated December 31, 2019. We thank all the received contributions. You can see the specific changes in the "diff" file in this repo. Highlights:

  • A consolidated preamble: new abstract, new context “About this community reference”, new IP expectations; more detailed “Table of contents”; new “Executive summary”.
  • A “Version history” section and an “Acknowledgments” section after the main chapters.
  • A new chapter on “Construction paradigms”, encompassing the previous section on “Taxonomy” of constructions, and including a new section on “Interactivity”.
  • Several portions of revised text and content, for example on proofs of knowledge vs. membership, benchmark parameters, gadgets, and applications.

Editorial Process

The initial ZkpComRef version was based on the proceedings of the 1st ZKProof workshop. Subsequent contributions were based on feedback and discussions held at the 2nd ZKProof Workshop. Thereafter, the ZkpComRef has evolved with a flexible editorial process, focused on contributions from the community and moderated by a team of editors. The incremental improvement is organized in yearly cycles, including calls for feedback and contributions. See further details in the ZKProof website.

Feedback. Here is a list of examples of feedback we are looking for

  • What portions of technical text can benefit from further clarification?
  • What basic concepts to further clarify, such as membership vs. knowledge, etc?
  • Each item in section 2.3 should be expanded into a new section — what to include?
  • What new pictorial examples (diagrams, etc.) to add?
  • What bibliographic references to add, to better support the claims and concepts?

Please send your feedback by email to editors@zkproof.org. When commenting on specific portions of text, please refer to the line numbers in the "annotated changes" version in this repo. (The ZKProof community forum also remains as a resource for community discussion.)

Contributions. The latest call for contributions is dated 2020-Aug-14. Here are notes/resources about potential contributions:

  • GitHub issues: Various topics of needed contributions are identified as GitHub issues.
  • 2019: Notes from “breakout” and “proposal” sessions at the 2nd ZKProof Workshop.
  • 2021: The editors are producing a new version of the "Paradigms" chapter to appear on ZkpComRef-0.3 --- collaboration is welcome
  • 2021-Apr-26: "Writathon" at the 4th ZKProof workshop --- gathering new material on selected topics seful for the ZkpComRef

You can submit your contribution by email or via a GitHub pull request. To help manage collaboration and concurrent work, please contact the editors in advance to inform you are producing a contribution on a topic. When submitting a contribution, please accompany it with an explanation, as follows:

  • Title: <a title for the contribution; 3-10 words>
  • Proposed contribution: <brief description and motivation about the change; 20-50 words>
  • ZkpComRef locations: <ZkpComRef location (sections) where the contribution should be integrated>
  • Context references: <e.g.: GitHub issue number; related session in the ZKProof workshop>
  • Contributors: <who worked on the submitted contributions>

References

The table below shows a list of current documents and content from the ZKProof effort.

Name Description Related Event Link
ZKProof Community Reference A document which serves as reference for the zero-knowledge field, built by the ZKProof community, in collaboration with NIST 1st & 2nd ZKProof Workshops LINK
ZKProof Community Proposals A set of documents that were submitted as proposals to be discussed and standardized 2nd ZKProof Workshop LINK
Workshop Notes A set of topics in the community forum that include the notes of the breakout sessions from the 2nd ZKProof Workshop 2nd ZKProof Workshop LINK
Public ZKProof Documentation Aside from this repository and the website, we have this folder with all the public documents from the effort 1st & 2nd ZKProof Workshops LINK