-
Notifications
You must be signed in to change notification settings - Fork 57
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
Preverify ZK proofs #1228
Labels
module:rusk
Issues related to rusk module
Comments
I like the idea very much. It would considerably decrease the latency of Execute State Transition and the Verify State Transition in the consensus |
ureeves
added a commit
that referenced
this issue
Mar 20, 2024
ureeves
added a commit
that referenced
this issue
Mar 20, 2024
ureeves
added a commit
that referenced
this issue
Mar 21, 2024
ureeves
added a commit
that referenced
this issue
Mar 21, 2024
ureeves
added a commit
that referenced
this issue
Mar 25, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
Zero-Knowledge Proof (ZKP) verification, although linear in proving time, are computationally expensive and executed sequentially with a transaction.
This issue proposes a mechanism to preverify ZK proofs in our protocol to improve throughput substantially.
Possible solution design or implementation
Proof verification is independent of the smart contract execution, given the verification happens on the host. Preverification would mean proving could happen in parallel.
The main idea is to shift proof verification away from the transaction execution phase, and preverifying proofs where the result is stored in a memtable after a transaction gets accepted in the mempool.
The existing verify host function would then simply have to do a lookup instead of executing the verification computation during transaction execution.
Considerations
The text was updated successfully, but these errors were encountered: