Arithmetization targets, orange = recursive STARKs compressed with SNARK
| EVM | bottom-up circuit approach
- PSE et. al. zkEVM; polys via Halo2 table
- Polygon zkEVM; polys via PIL
Top-down VM approach:
- zkSync's Register machine; polys via execution trace |
| --- | --- |
| RISCV | Risc0; DEEP-FRI; polys via [?]
SP1: Plonky3 |
| WASM | zkWASM ;polys via [?] update
Fluent; polys via [?] |
| Custom VMs | - Cairo CPU; polys of execution trace
Cake-independent primitives
Lookup variants
commitment schemes:
Preprocessing, distribution, ..
test tools; cake-indpendent finishing touches, accessories, ..
Full zkSNARKing instantiations
| PSE+ zkEVM, polys from Halo2 table
Polygon zkEVM, polys via PIL |
---|
Risc0 zkVM emulates RISC-V compiled onto from Rust/C/C++ |
zkWASM (halo2 & lookups) |
Fluent (reduced WASM, no conditionals or branching, circuits not open sourced yet, uses extern C for crypto) |
- zkSync's Register machine- Cairo CPU- Maiden VM |
heavily-custome-made App-specific zkSNARKs (zcash, Mina) |
Standalone zkDapps aka App-specific zkSNARK instatntiations aka ad-hoc intent eg zkDapps implemented with DSL (Zcash, Summa, RLN, ..