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

Arithmetic circuits support #5447

Open
ArielElp opened this issue Apr 18, 2024 · 0 comments
Open

Arithmetic circuits support #5447

ArielElp opened this issue Apr 18, 2024 · 0 comments
Labels
large roadmap a feature included in the public roadmap Sierra 1.6.0

Comments

@ArielElp
Copy link
Collaborator

Starknet will soon support a new builtin for evaluating arithmetic circuits in the non-native prime.

This builtin is already in use by the groth16 verifier implemented in Garaga, albeit in CairoZero.

The plan is to allow developers to build arithmetic circuits based on the language's type system. By introducing the following new types: In<N>, Add<C1,C2>, Mul<C1,C2>, developers will be able to define complex arithmetic circuits. A new ciruit_eval libfunc will be added to evaluate the circuit given the inputs.

At the Sierra level, the circuit is a large type. At the CASM level, the circuit is just a long chunk of assembly similarly to how it looks in CairoZero today. Applications of the new builtin will only happen upon usage of circuit_eval.

@ArielElp ArielElp added large roadmap a feature included in the public roadmap Sierra 1.6.0 labels Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
large roadmap a feature included in the public roadmap Sierra 1.6.0
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant