> For the complete documentation index, see [llms.txt](https://validium.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://validium.gitbook.io/docs/components/prover/zk-terminology.md).

# ZK Terminology

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

***

### Arithmetization <a href="#arithmetization" id="arithmetization"></a>

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

### Builder <a href="#builder" id="builder"></a>

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

### Circuit <a href="#circuit" id="circuit"></a>

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

### Constraint <a href="#constraint" id="constraint"></a>

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

### Constraint degree <a href="#constraint-degree" id="constraint-degree"></a>

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

### Constraint system <a href="#constraint-system" id="constraint-system"></a>

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.

### Geometry <a href="#geometry" id="geometry"></a>

In  Validium Network'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.  Validium Network uses \~164 base witness columns.

### Log <a href="#log" id="log"></a>

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

### Lookup table <a href="#lookup-table" id="lookup-table"></a>

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

### Proof <a href="#proof" id="proof"></a>

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

### Prover <a href="#prover" id="prover"></a>

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

### Satisfiable <a href="#satisfiable" id="satisfiable"></a>

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

### State Differentials <a href="#state-differentials" id="state-differentials"></a>

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

### Variables <a href="#variables" id="variables"></a>

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

### Verifier <a href="#verifier" id="verifier"></a>

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

### Witness <a href="#witness" id="witness"></a>

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

### Worker <a href="#worker" id="worker"></a>

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