Skip to content

Compatibility Between zk-garage Implementation and snarkjs Proof Format #168

@saurabhchalke

Description

@saurabhchalke

Description:

I've been working with the zk-garage PLONK implementation and I am interested in making it compatible with the snarkjs proof format. This would greatly enhance interoperability with other tools and platforms that utilize snarkjs.

Details:

  1. zk-garage Proof Structure:

    • The zk-garage proof contains commitments to witness polynomials, permutation polynomials, lookup polynomials, and quotient polynomials.
    • Additionally, it contains batch opening proofs and evaluations.
  2. snarkjs Proof Structure:

    • The snarkjs proof, as per my understanding, consists of an evaluation of polynomials at a random point, along with a series of elliptic curve points that act as commitments to those polynomials.
  3. Challenges:

    • The two proof formats have distinct structures and might encode the circuit's information differently.
    • The elliptic curve representations may differ.

Request:

I would appreciate guidance or a potential enhancement to bridge the compatibility gap between these two formats. This could be in the form of:

  • A converter tool or function.
  • Documentation detailing the steps to convert between the two formats manually.

Additional Context:

Understanding the compatibility and potentially achieving it would be beneficial for developers like myself looking to leverage both tools in our zero-knowledge proof systems.

Thank you for the great work and looking forward to any insights or updates on this matter!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions