-
Notifications
You must be signed in to change notification settings - Fork 10
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
Verification (started to) always fails after transpiler update #78
Comments
Hello! You are right. We released a new version of Not only You can use versions of zkllvm, which are still compatible with the main branch This issue will be fixed in the next patch. We will do this as soon as possible. |
Hi! You can use our working branch to verify proofs from zkllvm: #74
If you execute cmake with -DGENERATE_EVM_VERIFIER=TRUE in zkllvm , you can use make targets to prepare proof and evm verifier for cpp examples. For example, For zkllvm examples you may also use target |
@ETatuzova Thanks! Confirm this works, but I have a small ask - could the 74th branch be published to npm as package? The workflow you described above works as a workaround, but is a somewhat slower/harder to use compared to using evm-placeholder-verifier as a library, rather than a "test runner". |
@ETatuzova , @alexandra-mara follow up - the instruction above is missing one thing that actually masks a different problem. Transpiler puts public input into The issue is:
In other words, checking public input seems to be broken. Tested with both standalone proof-generator and transpiler-generated proofs. |
Closed by #87 |
There seems to have been a recent update to circuit_params.json produced by the transpiler (added
commitment_params_node
and moved some attributes inside it - e.g. lambda and D_omegas)Steps to reproduce:
Using repo with end-to-end circuit lifecycle: https://github.com/color-typea/zkllvm-playground
Difference in CircuitParams.sol before and after change: color-typea/zkllvm-playground#1
Before the change: first 2 tests (correct proofs) pass as expected, second 2 tests (incorrect proofs) fail (this is a known separate issue)
After the change: first 2 tests (correct proofs) fail, second 2 tests (incorrect proofs) pass - this essentially means it rejects even correct proofs.
How to run tests:
make test
should do everything. Note it includes producing "new" CircuitParams.sol, so you'll end up in the "after the change" stateToolchain versions:
clang version 16.0.0 ([email protected]:NilFoundation/zkllvm-circifier.git 9470dd7ed89d89edfd596c397b8c7c37b0dce2a0)
0.1.2-12
(built from source @ 9482a3f01e1138a69ff5d096b9ff7e811b59cf0b)0.1.2-12
(built from source @ 9482a3f01e1138a69ff5d096b9ff7e811b59cf0b)The text was updated successfully, but these errors were encountered: