Galactic
  • ⛓️Tusima Galactic
  • Rollup
    • 🏁Preface
    • Section 1: Rollup Introduction
    • Section 2: ZK Rollup & Optimistic Rollup
  • ZkNode
    • 🏁Introduction
    • Section 1: ZkNode Overview
    • Section 2: ZkNode Consensus Mechanism
    • Section 3: ZkNode Individual Components
    • Section 4: JSON RPC Component
  • Zkprover
    • 🏁Introduction
    • Section 1: ZkEVM Overview
    • Section 2: ZkEVM Functions
    • Section 3: ZkProver Overview
    • Section 4: ZkProver Interaction
    • Section 5: ZkProver Components
    • Section 6: ZkProver Hash Function
    • Section 7: ZkProver ZkASM & PIL
  • Validium
    • 🏁Near DAC
    • Section 1: Near DAC Overview
    • Section 2: Near DAC Implementation
  • Bridge
    • 🏁Introduction
    • Section 1: Bridge Overview
    • Section 2: Bridge Feature
  • Branding kit
    • Tusima Branding kit
  • TERMS & PRIVACY
    • 📋Terms Of Service
    • 🔏Privacy Policy
Powered by GitBook
On this page
  1. Zkprover

Section 2: ZkEVM Functions

PreviousSection 1: ZkEVM OverviewNextSection 3: ZkProver Overview

Last updated 1 year ago

When running smart contracts at the L2 layer, in order to ensure the correctness of contract execution and the validity of state transitions, a mechanism is needed to verify these operations. zkEVM (or more precisely zkVM) provides such an environment. It simulates the execution environment of the EVM (Ethereum Virtual Machine), but adds the function of zero-knowledge proof. This means that instead of executing each transaction on the main chain, the L2 layer can execute the transaction and then use zkVM to generate a concise proof (i.e. a zero-knowledge proof) that the transaction was executed correctly. This proof can then be submitted to the L1 layer for verification.

The L1 layer only needs to verify the proof generated by zkVM without re-executing the entire contract. This greatly reduces the verification overhead, allowing the L1 layer to process more data more efficiently.

Although zkEVM emphasizes its compatibility with Ethereum, it is more accurately said that it is a zero-knowledge virtual machine (zkVM). It can simulate any type of virtual machine, not just EVM. Therefore, zkVM is a more general term, while zkEVM is its Ethereum-specific implementation.

zkEVM