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
  • Validium VM and its role in Validium Network
  • Execution of transactions
  • Special features of Validium VM
  • User-facing features
  • Fee model
  1. Components
  2. Validium Network EVM

Overview

Learn about the Validium Network VM's functionality, its role in the Validium Network compared to the EVM in Ethereum, and how it handles smart contracts and transaction fees.

PreviousValidium Network EVMNextBootloader

Last updated 7 months ago


The Validium Network VM (zero-knowledge Ethereum Virtual Machine) is an essential component of the Validium Network, designed to execute transactions similarly to the Ethereum Virtual Machine (EVM) but with a unique set of functionalities tailored to the needs of rollups.

Validium VM and its role in Validium Network

Unlike the EVM that operates Ethereum's smart contracts directly, the Validium Network VM is specifically engineered to efficiently run the State Transition Function (STF), which is vital for producing proofs of correct execution in a rollup context. This STF is defined by the , which implements and runs it.

Execution of transactions

Transactions executed by the Validium Network VM are primarily written in native Validium VM bytecode, enabling straightforward execution. In the future, the system will also accommodate EVM bytecode through an efficient interpreter built into the Validium VM.


Special features of Validium VM

The Validium VM incorporates several specialized features to meet the demands of rollups, including:

  • Storage and Gas Metering: Adaptations in storage handling and gas metering to suit the rollup model.

  • Precompiles and System Contracts: The Validium VM supports predeployed contracts known as precompiles and system contracts. While both are integral, system contracts have special permissions and are mainly invoked by the Bootloader, not by user transactions. These system contracts are crucial for managing specialized operations and are outlined in more detail .


User-facing features

To enhance user experience, the Validium VM supports account abstraction, allowing users to customize how transaction fees are paid. This flexibility is part of the Validium Network's efforts to improve usability and accessibility.


Fee model

The Validium VM's fee model differs significantly from Ethereum's due to the unique requirements of running a rollup. It considers the various costs associated with rollup operations, including:

  • Data and Proof Execution Costs on L1: Ensures that the rollup's data and proof computations are financially sustainable when settled on Ethereum.

  • Sequencer and Prover Costs: Covers expenses related to sequencing transactions and generating zero-knowledge proofs.


The zkEVM plays a critical role in the Validium Network by ensuring efficient execution of transactions within the unique operational environment of rollups. Its specialized features and innovative fee model are designed to maintain functionality and scalability while providing a seamless experience for users. For further exploration of these concepts, consider reading more about and the in our documentation.

Bootloader
here
account abstraction
fee mechanism