ZK Terminology

This article provides definitions for key terms used in ZKsync's zero-knowledge proof systems.


Arithmetization is a technique in zero-knowledge proof systems that converts computations into polynomial equations for efficient verification by a prover and a verifier.


The builder sets up the constraint system, determining the placement and geometry of gates and providing essential information for system construction.


An arithmetic circuit is a cryptographic tool that encodes computational problems using gates, each performing operations like addition or multiplication.


A constraint is a rule that certain operations must follow to maintain validity and support proof generation in ZKsync.

Constraint degree

Constraint degree refers to the highest polynomial degree present in the gates of a constraint system, with ZKsync allowing up to a degree of eight.

Constraint system

A constraint system is a set of polynomial constraints representing the proofs to be verified. It is satisfied when specific values assigned to its variables make all equations true.


In ZKsync's PLONK arithmetization, geometry refers to the arrangement of witness data in a grid format across defined rows and columns. Each row defines a gate (or a few gates), and the columns are as long as needed to hold all of the witness data. ZKsync uses ~164 base witness columns.


A log in ZKsync is similar to a database log, recording a list of changes within the system.

Lookup table

A lookup table maps input values to outputs, streamlining the validation of computations and relationships in zero-knowledge proofs by providing a quick reference.


A proof can either indicate the entire proving process or specifically refer to the data that the prover sends to the verifier.


In ZKsync, a prover processes transactions by computing proofs that validate state transitions, which are then verified by a smart contract on Ethereum.


A circuit or constraint system is satisfiable if a provided witness meets all set conditions and constraints.

State Differentials

State Diffs show the differences in account states before and after transaction processing, indicating changes like an increase in ETH balance.


Variables serve as placeholders in a constraint system, holding space for witness data that will satisfy the defined constraints.


The Verifier, a smart contract on Ethereum, checks the validity of received proofs and updates the state root accordingly.


A witness is the confidential input in a cryptographic circuit, representing the knowledge the prover wishes to demonstrate without full disclosure.


A worker in ZKsync is part of a multi-threaded proving system that allows for parallel execution of certain cryptographic computations, such as polynomial addition.

Made with ❤️ by the ZKsync Community