28 releases (15 breaking)
new 0.27.0 | Sep 20, 2023 |
---|---|
0.25.0 | Sep 4, 2023 |
0.21.0 | Jul 26, 2023 |
#68 in Emulators
6,128 downloads per month
Used in 2 crates
(via acvm)
160KB
3K
SLoC
ACIR - Abstract Circuit Intermediate Representation
ACIR is an NP complete language that generalizes R1CS and arithmetic circuits while not losing proving system specific optimizations through the use of black box functions.
ACVM - Abstract Circuit Virtual Machine
This can be seen as the ACIR compiler. It will take an ACIR instance and convert it to the format required by a particular proving system to create a proof.
lib.rs
:
The Brillig VM is a specialized VM which allows the ACVM to perform custom non-determinism.
Brillig bytecode is distinct from regular ACIR in that it does not generate constraints. This is a generalization over the fixed directives that exists within in the ACVM.
Dependencies
~6MB
~105K SLoC