Validium Docs
  • Overview
  • Connect to Validium
  • Start Coding 🚀
    • Quickstart
      • Overview
      • Deploy using Validium CLI
      • Deploy using Quickstart Repository
      • Deploy your first contract
      • Create an ERC20 token
  • Tooling
    • Block Explorers
    • Hardhat-Validium
      • Overview
      • Installation
      • Guides
        • Getting started
        • Migrating Hardhat project to Validium
        • Compiling non-inlinable libraries
      • Plugins
        • hardhat-zksync
        • hardhat-zksync-solc
        • hardhat-zksync-vyper
        • hardhat-zksync-deploy
        • hardhat-zksync-upgradable
        • hardhat-zksync-verify
        • hardhat-zksync-verify-vyper
        • hardhat-zksync-ethers
        • hardhat-zksync-node
        • Hardhat Community Plugins
    • Foundary
      • Overview
      • Installation
      • Getting Started
      • Migration Guide
        • Overview
        • Compilation
        • Deployment
        • Testing
  • Test and Debug
    • Getting Started
    • Docker L1 - L2 Nodes
    • In-Memory Node
    • Continuous Integration
    • Hardhat
    • Foundry
  • API Reference
    • Overview
    • Conventions
    • ZKs JSON-RPC API
    • Debug JSON-RPC API
    • Ethereum JSON-RPC API
    • PubSub JSON-RPC API
  • Concepts
    • Transaction Lifecycle
    • Blocks and Batches
    • Validium Network Fee Mechanism
    • Finality
    • System Upgrades
    • ZK Chains
    • Data Availability
      • Overview
      • Recreating L2 state from L1 pubdata
      • Validiums
    • Account Abstraction
    • L1 <-> L2 Communication
  • Components
    • Overview
    • Smart & System Contracts
      • Smart Contracts
      • System Contracts
    • Shared Bridges
    • Sequencer / Server
    • Validium Network EVM
      • Overview
      • Bootloader
      • Precompiles
      • Virtual Machine Specification
        • ZKsync Virtual Machine primer
        • VM Formal Specification
    • Prover
      • Overview
      • ZK Terminology
      • Running the Prover
      • Circuits
        • Overview
        • Circuit Testing
        • CodeDecommitter
        • DemuxLogQueue
        • ECRecover
        • KeccakRoundFunction
        • L1MessagesHasher
        • LogSorter
        • Main VM
        • RAMPermutation
        • Sha256RoundFunction
        • StorageApplication
        • Sorting and Deduplicating
          • Overview
          • SortDecommitments
          • StorageSorter
          • LogSorter
      • Boojum Gadgets
      • Boojum Function - `check_if_satisfied`
    • Compiler
      • Compiler Toolchain Overview
        • Compiler Toolchain Overview
        • Solidity Compiler
        • Vyper Compiler
        • LLVM Framework
      • Specification
        • Overview
        • Code Separation
        • System Contracts
        • Exception Handling
        • EVM Legacy Assembly Translator
        • Instructions
          • Instruction Reference
          • EVM
            • Native EVM Instructions
            • Arithmetic
            • Bitwise
            • Block
            • Call
            • Create
            • Environment
            • Logging
            • Logical
            • Memory
            • Return
            • Sha3
            • Stack
          • Extensions
            • Overview
            • Validium Network Extension Simulation (call)
            • Validium Network Extension Simulation (verbatim)
          • EVM Legacy Assembly
          • Yul
        • EraVM Binary Layout
    • Fee Withdrawer
    • Portal - Wallet + Bridge
    • Block Explorer
    • Transaction filtering
Powered by GitBook
On this page
  • Arithmetization
  • Builder
  • Circuit
  • Constraint
  • Constraint degree
  • Constraint system
  • Geometry
  • Log
  • Lookup table
  • Proof
  • Prover
  • Satisfiable
  • State Differentials
  • Variables
  • Verifier
  • Witness
  • Worker
  1. Components
  2. Prover

ZK Terminology

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


Arithmetization

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

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

Circuit

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

Constraint

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

Constraint degree

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 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

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 log in Validium Network 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.

Proof

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

Prover

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 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

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

Verifier

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

Witness

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

Worker

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.

PreviousOverviewNextRunning the Prover

Last updated 7 months ago