Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Feature: compute the fingerprint of a Plonk verification key for recursive verification #1062

Draft
wants to merge 32 commits into
base: master
Choose a base branch
from

Conversation

weijiguo
Copy link

@weijiguo weijiguo commented Feb 19, 2024

Description

This PR added a new feature to compute the fingerprint (MiMc hash) of a Plonk verification key. The fingerprint could be used to identify a unique verification key or circuit during recursive verification.

Fixes # (issue)
None

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How has this been tested?

  • Added codes to std/recursion/plonk/verifier_test.go to ensure all curves are supported;
  • Added file std/recursion/plonk/vkey_fp_test.go to ensure the correctness of the added functionality.

How has this been benchmarked?

We adopted the snark-friendly hash MiMc to minimize the constraints count. However no benchmark suites were added.

Checklist:

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • I did not modify files generated from templates
  • golangci-lint does not output errors locally
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@weijiguo
Copy link
Author

This PR depends on #1040

@weijiguo weijiguo marked this pull request as draft February 29, 2024 11:59
@weijiguo
Copy link
Author

Converted to draft. Just came to awareness that MiMc might output different data under different underlying fields. Reviewing impacts.

@CLAassistant
Copy link

CLAassistant commented Mar 1, 2024

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants