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(ivc): sfc input design #393

Merged
merged 5 commits into from
Dec 3, 2024
Merged

feat(ivc): sfc input design #393

merged 5 commits into from
Dec 3, 2024

Conversation

cyphersnake
Copy link
Collaborator

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 cyphersnake requested a review from chaosma November 21, 2024 14:30
@cyphersnake cyphersnake self-assigned this Nov 21, 2024
Copy link
Collaborator

@chaosma chaosma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, the Input part looks good to me.

src/ivc/cyclefold/support_circuit/mod.rs Show resolved Hide resolved
// CMain::Base or CSupport::Scalar (native for suppport_circuit)
let support_circuit_instances: Vec<Vec<CMain::Base>> = support_circuit::InstanceInput {
p0: CMain::identity(),
l0: CMain::Base::ZERO,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when we do folding, we only need one scalar mul at a time. so we can save one scalar mul.
i.e.
p0+p1*l1 -> pout

}

/// Recursive trace of the circuit itself
pub struct SelfTrace<F: PrimeField> {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NBD (for naming): usually, when we say a trace to indicate it is witness+instance.
Here the trace is set of all the instances of accumulator and incoming

Base automatically changed from 371-support-circuit-2 to main December 3, 2024 10:55
**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
**Motivation**

**Overview**
**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 cyphersnake merged commit d8b460e into main Dec 3, 2024
1 check failed
@cyphersnake cyphersnake deleted the 369-sfc-1 branch December 3, 2024 10:58
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