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

feat(plonky2x): keccak256 #196

Closed
wants to merge 8 commits into from

Conversation

sfyll
Copy link

@sfyll sfyll commented Sep 25, 2023

Below is an edit; the first attempt was slightly too optimistic. 🙈

The circuit was implemented by combining Jump's keccak256 circuit with Kevin's work, removing shared hash components, and integrating the circuit "front-end" with the Succinct X "back-end." A few questions remain:

  • Most notably, it seems we want to constrain the front-end to accept only an array of bytes (as indicated in circuit.go). If this is the agreed-upon standard for passing inputs into hashing circuits, this PR requires some tweaks to be compliant.

  • Currently, the circuit has the following characteristics:

Operation num_gates quotient_degree_factor
keccak256(4) 25382 8
keccak256 6315 8
Given that the optimization guidelines are qualitative, it's unclear whether they meet the threshold.
  • I welcome any other feedback, as this is my first time working with plonky2. Its versatility is a double-edged sword, making the learning curve quite steep.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
wip

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@sfyll sfyll changed the title fix xor numblock feat(plonky2x): keccak256 Sep 29, 2023

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@sfyll
Copy link
Author

sfyll commented Oct 3, 2023

Updated this PR to work with &[ByteVariable].

longer hashes is still WIP, in case someone else wants to check it.

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.

2 participants