-
Notifications
You must be signed in to change notification settings - Fork 21
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
Implement StepCircuitExt
trait methods
#32
Milestone
Comments
cyphersnake
added a commit
that referenced
this issue
Oct 23, 2023
cyphersnake
added a commit
that referenced
this issue
Oct 23, 2023
cyphersnake
added a commit
that referenced
this issue
Oct 25, 2023
Closed
This was referenced Nov 21, 2023
cyphersnake
added a commit
that referenced
this issue
Dec 13, 2023
This was referenced Jan 9, 2024
cyphersnake
added a commit
that referenced
this issue
Jan 17, 2024
# Enhancements to IVC and ECC in Incrementally Verifiable Computation This PR introduces significant improvements to the IVC algorithm, focusing on the implementation of conditional selection between base and non-base cases, and refining the ECC component. Here's a breakdown of the changes: ## What has been done? ### Implementation of Selection Between Base and Non-Base Cases (IVC): A new feature is introduced to handle the selection between base and non-base cases in the IVC process. At step zero our task is simply to generate a relaxed plonk instance, and at any other step to commit folding. But we are running on-circuit, so we perform both of these actions each time, and then choose one of the options depending on the step. ### Implement `synthesize_step_base_case` for step circuit module Implemented a method to synthesize steps specifically for the base case of IVC. That is, make a call to the key folding-chip inside the `StepCircutiExt` abstraction. This is a preparation for synthesizing the step circuit itself ### New Method for On-Circuit Conditional Selection (IVC and ECC) - Developed a new method, `AssignedRelaxed::conditional_select`, for on-circuit conditional selection between the base and non-base cases. This method plays a key role in choosing the correct assigned relaxed Plonk instance based on the step in IVC - Enhanced the ECC component with the implementation of `conditional_select`. This auxiliary function is simplify on-circuit conditional selection of curve point. Part of #32
cyphersnake
added a commit
that referenced
this issue
Jan 17, 2024
This PR implements input data preparation and the `StepCircuit::synthetize_step` call For a complete implementation of `StepCircuitExt` all that is left is to call RandomOracle at the end on all data and pass on assigned values as result of `StepCircuitExt::synthesize` Part of #32
Was closed by mistake, almost finished now by #113. |
cyphersnake
added a commit
that referenced
this issue
Jan 19, 2024
- feat(ivc): finalize `StepCircuitExt::synthesize` - feat(mg): impl `WrapValue::from_assigned_point` - feat(ivc): `AssignedRelaxedPlonkInstance::absorb_into` - feat(ivc): add assigned input witness into folding result Finalized 'StepCircuitExt', the result now includes all the context needed for subsequent IVC work. Part of #32
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The text was updated successfully, but these errors were encountered: