Number of verifiers

1

Aggregation

Yes

Trusted setup

Yes

List of verifiers

NameVerification status
ZKsyncEraVerifier
Not verified
Submit or ask for verification

Description

zkSync Era utilizes Boojum as the main proving stack for their system. Boojum is an implementation of the Redshift protocol which uses the Plonk IOP with a polynomial commitment scheme based on List Polynomial Commitments (LPCs), which is in turn based on FRI, making the scheme transparent. The scheme makes use of the Goldilocks field, which is much smaller than alt_bn128’s field.

The protocol makes use of recursive proof aggregation via 15 recursive circuits. Some information about the aggregation architecture can be found here. State diffs are published in compressed form on L1.

The final proof is wrapped into a Plonk+KZG proof for cheap verification. The CRS used is the one generated by Aztec ceremony with 176 participations. The instructions to regenerate the verification keys can be found here, with a documentation on their usage here.

Solidity contracts are compiled into Yul using solc and compiled again using zksolc to target a LLVM, which is then used to target the EraVM. The ISA spec of the EraVM can be found here. The differences between the zkEVM and the EVM are listed here. The source code of the circuits can be found here.

List of required tools

Tool nameVersionTool docs
Custom toolv14.2.0More info