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

Recursion API #243

Open
bhgomes opened this issue Sep 7, 2022 · 0 comments
Open

Recursion API #243

bhgomes opened this issue Sep 7, 2022 · 0 comments
Labels
A-cryptography Area: Issues and PRs related to Cryptography A-openzl Area: Development Related to OpenZL and ECLAIR A-pvm Area: Issues and PRs related to the PVM P-medium Priority: Medium

Comments

@bhgomes
Copy link
Contributor

bhgomes commented Sep 7, 2022

First, we should move verify out of ProofSystem so that it can be a gadget on its own. Something like this:

/// Verification
pub trait Verify<COM = ()> {
    /// Verifying Context
    type VerifyingContext;

    /// Proof Type
    type Proof;

    /// Input Type
    type Input;

    /// Output Type
    type Output;

    /// Verifies that `proof` is a valid proof of the relation encoded in `verifying_context`
    /// with `input` as the public input.
    fn verify(
        &self,
        verifying_context: &Self::VerifyingContext,
        proof: &Self::Proof,
        input: &Self::Input,
        compiler: &mut COM
    ) -> Self::Output;
}

Then we need to consider how this will actually be used in recursive apps and the different backends.

@bhgomes bhgomes added P-medium Priority: Medium A-cryptography Area: Issues and PRs related to Cryptography A-openzl Area: Development Related to OpenZL and ECLAIR A-pvm Area: Issues and PRs related to the PVM labels Sep 7, 2022
@bhgomes bhgomes added this to the v1.0.0 milestone Sep 7, 2022
@bhgomes bhgomes removed this from the v1.0.0 milestone Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cryptography Area: Issues and PRs related to Cryptography A-openzl Area: Development Related to OpenZL and ECLAIR A-pvm Area: Issues and PRs related to the PVM P-medium Priority: Medium
Projects
None yet
Development

No branches or pull requests

1 participant