Dependency Hierarchy
Chips form a strict inclusion hierarchy. Including a chip implicitly includes all its
dependencies. The effective profile is always one of the five below.
For instance, the Hash-to-curve chip depends on both Poseidon hash and Jubjub curve, both depending on the Native Arithmetic chip.
For instance, the Hash-to-curve chip depends on both Poseidon hash and Jubjub curve, both depending on the Native Arithmetic chip.
Hash-to-Curve ⊃ Poseidon + JubJub ⊃ Arith
Each level adds fixed columns (unless marked as shared), gates, and lookup tables on top of its dependencies.
Chip advice columns are merged by max-count (not summed) — JubJub's 9 cols absorb Native's 5.
Each level adds fixed columns (unless marked as shared), gates, and lookup tables on top of its dependencies.
Chip advice columns are merged by max-count (not summed) — JubJub's 9 cols absorb Native's 5.
| Chip | Dependencies |
|---|
Chip Comparison
Proof & VK Sizes
Number of columns and associated arguments for a chip, as well as the minimum expected proof and VK size
when using a chip in isolation. When chips are combined the proof and VK size are not additive.
| Chip | Adv cols | Fixed cols | Lookups | Trash | Proof size | VK size | Total | |||
|---|---|---|---|---|---|---|---|---|---|---|
| Com | Evals | Bytes | Com | Bytes | Bytes | |||||
Note on advice column merging:
Chip advice columns use max-count merge, not summation.
JubJub has 9 advice columns which absorb Native's 5 — the combined chip does not
add 5+9=14, it uses 9 total. This is why JubJub and Hash-to-Curve share the same
advice column count.
Verifier Operation Counts
Number of individual scalar expressions contributed by each chip, before
batching into gate, lookup, and trashcan arguments.
| Chip | Gate expr. | Lookup expr. | Trash expr. |
|---|
Minimum number of scalar operations required per chip summed across gate, lookup, and trashcan arguments as well as number of operations for the Multi-Scalar Multiplications (MSMs).
| Chip | Args | MSM | |||||||
|---|---|---|---|---|---|---|---|---|---|
| neg | add | sub | mul | from_int | add | mul | addG1 | mulG1 | |