-
Notifications
You must be signed in to change notification settings - Fork 19
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(ivc): impl cyclefold::step_folding_circuit #369
Milestone
Comments
This was referenced Oct 21, 2024
cyphersnake
changed the title
feat(ivc): implement cyclefold::step_folding_circuit
feat(ivc): impl cyclefold::step_folding_circuit
Oct 21, 2024
cyphersnake
added a commit
that referenced
this issue
Nov 21, 2024
**Motivation** Part of #369 **Overview** This PR is intended to demonstrate the `Input` design for `cyclefold::StepFoldingCircuit` Note what types are used, what curves are presented and how this data is assumed to be reported inside the circuit
cyphersnake
added a commit
that referenced
this issue
Nov 26, 2024
**Motivation** Part of #369 **Overview** This PR is intended to demonstrate the `Input` design for `cyclefold::StepFoldingCircuit` Note what types are used, what curves are presented and how this data is assumed to be reported inside the circuit
cyphersnake
added a commit
that referenced
this issue
Nov 28, 2024
**Motivation** Within #369 and cyclfold in general we need to count consistency markers, for this we need to be able to absorb sfc::input **Overview** Just implementation of `AbsorbInRO` trait for all sfc::input types
cyphersnake
added a commit
that referenced
this issue
Nov 28, 2024
**Motivaion** As part of #369 we need impl assigned version of input. Also we have to make sure that {on,off}-circuit assigned works the same way to match the consistency marker **Overview** WIP
cyphersnake
added a commit
that referenced
this issue
Nov 28, 2024
**Motivaion** As part of #369 we need impl assigned version of input. Also we have to make sure that {on,off}-circuit assigned works the same way to match the consistency marker **Overview** WIP
cyphersnake
added a commit
that referenced
this issue
Nov 28, 2024
**Motivaion** As part of #369 we need impl assigned version of input. Also we have to make sure that {on,off}-circuit assigned works the same way to match the consistency marker **Overview** Implemented versions of Input structures. A test to check the consistency of the {on,off}-circuit hash has been implemented. Also this test allows to double-check correctness of assignment
cyphersnake
added a commit
that referenced
this issue
Nov 29, 2024
**Motivation** We need consistent types for #369 between nifs <-> ivc protogalaxy modules **Overview** I had to make many types independent of the curve. Since for the random oracle logic we are byte-by-by-byte distilling from all fields to the target field anyway, I got rid of Scalar -> Base in favor of any field. So now it can be both C::Base (for sangria) and C::Scalar (for cyclefold)
cyphersnake
added a commit
that referenced
this issue
Nov 29, 2024
**Motivation** We need consistent types for #369 between nifs <-> ivc protogalaxy modules **Overview** I had to make many types independent of the curve. Since for the random oracle logic we are byte-by-by-byte distilling from all fields to the target field anyway, I got rid of Scalar -> Base in favor of any field. So now it can be both C::Base (for sangria) and C::Scalar (for cyclefold) There are no other functional changes, only generic refactoring
cyphersnake
added a commit
that referenced
this issue
Nov 29, 2024
**Motvation** As part of the sfc implementation (#369), we call `protogalaxy::verify_chip` for its own trace, among other things **Overview** Since ivc::protogalaxy & ivc::cyclefold are independent types, we have structures that are independent of each other, yet similar one to one. We need to cast them to an equivalent form (`BigUintPoint`) - [ ] WIP: W_commitment to BigUintPoint in both structure
cyphersnake
added a commit
that referenced
this issue
Dec 2, 2024
**Motivation** During the implementation of #369, the types for protogalaxy & cyclefold differed in form but not in substance **Overview** Simple refactoring with removing identical structures and using in ivc::cyclefold types from ivc::protogalaxy
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** During the implementation of #369, the types for protogalaxy & cyclefold differed in form but not in substance **Overview** Simple refactoring with removing identical structures and using in ivc::cyclefold types from ivc::protogalaxy
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** In ramkaz #369 we have to minimize the paired circuit with sangria **Overview** I've reused almost all fold-fn (except `instance`) from the existing sangria implementation
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** In #369 we have to minimize the paired circuit with sangria **Overview** I've reused almost all fold-fn (except `instance`) from the existing sangria implementation
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** During the implementation of #369, the types for protogalaxy & cyclefold differed in form but not in substance **Overview** Simple refactoring with removing identical structures and using in ivc::cyclefold types from ivc::protogalaxy
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** In #369 we have to minimize the paired circuit with sangria **Overview** I've reused almost all fold-fn (except `instance`) from the existing sangria implementation
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** Part of #369 **Overview** This PR is intended to demonstrate the `Input` design for `cyclefold::StepFoldingCircuit` Note what types are used, what curves are presented and how this data is assumed to be reported inside the circuit
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** Within #369 and cyclfold in general we need to count consistency markers, for this we need to be able to absorb sfc::input **Overview** Just implementation of `AbsorbInRO` trait for all sfc::input types
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** Part of #369 **Overview** This PR is intended to demonstrate the `Input` design for `cyclefold::StepFoldingCircuit` Note what types are used, what curves are presented and how this data is assumed to be reported inside the circuit
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** Within #369 and cyclfold in general we need to count consistency markers, for this we need to be able to absorb sfc::input **Overview** Just implementation of `AbsorbInRO` trait for all sfc::input types
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivaion** As part of #369 we need impl assigned version of input. Also we have to make sure that {on,off}-circuit assigned works the same way to match the consistency marker **Overview** Implemented versions of Input structures. A test to check the consistency of the {on,off}-circuit hash has been implemented. Also this test allows to double-check correctness of assignment
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** We need consistent types for #369 between nifs <-> ivc protogalaxy modules **Overview** I had to make many types independent of the curve. Since for the random oracle logic we are byte-by-by-byte distilling from all fields to the target field anyway, I got rid of Scalar -> Base in favor of any field. So now it can be both C::Base (for sangria) and C::Scalar (for cyclefold) There are no other functional changes, only generic refactoring
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motvation** As part of the sfc implementation (#369), we call `protogalaxy::verify_chip` for its own trace, among other things **Overview** Since ivc::protogalaxy & ivc::cyclefold are independent types, we have structures that are independent of each other, yet similar one to one. We need to cast them to an equivalent form (`BigUintPoint`) - [ ] WIP: W_commitment to BigUintPoint in both structure
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** During the implementation of #369, the types for protogalaxy & cyclefold differed in form but not in substance **Overview** Simple refactoring with removing identical structures and using in ivc::cyclefold types from ivc::protogalaxy
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** During the implementation of #369, the types for protogalaxy & cyclefold differed in form but not in substance **Overview** Simple refactoring with removing identical structures and using in ivc::cyclefold types from ivc::protogalaxy
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** In #369 we have to minimize the paired circuit with sangria **Overview** I've reused almost all fold-fn (except `instance`) from the existing sangria implementation
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** As part of impl of sfc (#369) we delegate ecc_scalar_mul computing to a suppport circuit. Within primary sfc we must validate the input and reuse the output to deduce the W_commitment protogalaxy of the accumulator **Overview** I use the lagrange coefficients that we have already evaluated inside `protogalaxy::verify`.
cyphersnake
added a commit
that referenced
this issue
Dec 3, 2024
**Motivation** As part of impl of sfc (#369) we delegate ecc_scalar_mul computing to a suppport circuit. Within primary sfc we must validate the input and reuse the output to deduce the W_commitment protogalaxy of the accumulator **Overview** I use the lagrange coefficients that we have already evaluated inside `protogalaxy::verify`.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This task integrates all previously implemented parts (e.g., SPS verification and delegated verification) into one cohesive circuit, completing the core logic for StepFoldingCircuit.
Integrates #367 and #368 into one folding circuit.
The text was updated successfully, but these errors were encountered: