OKB.VN
Execution · Smart Contract

EVM vs SVM vs MoveVM
So Sánh Execution Environment

Kiến trúc máy ảo xử lý smart contract — nơi mọi tính toán on-chain diễn ra

⚙️ Execution⏱ ~11 phút đọc🔗 OKB.VN🗓 2025

TL;DR – Tóm tắt

Execution environment (VM) là lớp xử lý smart contract và cập nhật state. EVM (Ethereum) là standard phổ biến nhất với ecosystem lớn nhất nhưng sequential execution. SVM (Solana) cho phép parallel execution nhờ Sealevel. MoveVM (Aptos, Sui) dùng ngôn ngữ Move với resource model an toàn hơn cho tài sản on-chain. Mỗi VM có đánh đổi giữa throughput, developer experience và bảo mật.

IExecution Environment là gì

Execution environment (hay Virtual Machine — VM) là môi trường sandbox thực thi smart contract một cách deterministic trên mọi node trong mạng. Mọi node phải thực thi cùng một computation và ra cùng một kết quả — đây là điều kiện để đạt đồng thuận về state.

VM định nghĩa: ngôn ngữ lập trình smart contract có thể dùng, cách quản lý state, gas metering (đo lường chi phí computation), và tập instruction set được hỗ trợ.

IIEVM – Ethereum Virtual Machine

EVM là VM của Ethereum, ra đời 2015 — tiêu chuẩn de facto của smart contract. EVM là stack-based machine với 256-bit word size, xử lý Solidity/Vyper bytecode, và tính gas theo từng opcode.

Đặc điểm kiến trúc

  • Sequential execution: Giao dịch được xử lý tuần tự trong mỗi block — không parallel
  • Account-based model: State được tổ chức theo address, mỗi account có balance và storage
  • Gas system: Mỗi opcode tốn gas — ngăn infinite loop, incentivize efficient code
  • Turing-complete: Có thể biểu diễn bất kỳ computation nào (với giới hạn gas)

EVM-compatible chains

Hơn 50 blockchain tương thích với EVM — Polygon, BNB Chain, Avalanche C-Chain, Fantom, Arbitrum, OP, Base, v.v. Smart contract Solidity có thể deploy lên tất cả chỉ cần thay đổi RPC URL. Đây là lý do ecosystem EVM lớn nhất: một lần viết, deploy mọi nơi.

EVM limitations: Sequential execution giới hạn throughput tối đa. State trie (Merkle Patricia Trie) có overhead lớn với state phức tạp. Các cải tiến như EOF (EVM Object Format) và Verkle Trie đang được phát triển.

IIISVM – Solana Virtual Machine

Solana không dùng thuật ngữ "SVM" chính thức — thường gọi là Solana Runtime. SVM xử lý BPF (Berkeley Packet Filter) bytecode, compile từ Rust hoặc C. Đặc điểm nổi bật nhất: Sealevel — parallel execution engine.

Sealevel — Parallel Smart Contract Execution

Sealevel cho phép nhiều giao dịch không-xung-đột chạy song song trên nhiều CPU core. Điều kiện: mỗi giao dịch phải khai báo trước danh sách account nó sẽ read/write. Runtime phân tích dependency và schedule giao dịch song song nếu không có conflict.

Ví dụ: 1000 giao dịch swap ETH→USDC và 1000 giao dịch swap SOL→BONK có thể chạy song song nếu chúng không động vào cùng account.

Account Model của Solana

Solana tách biệt code và data: Program (smart contract) là một account chứa code; State được lưu trong các "data account" riêng biệt. Điều này khác EVM (code và state cùng một contract address) và là điều kiện kỹ thuật để Sealevel hoạt động.

IVMoveVM – Aptos và Sui

Move là ngôn ngữ lập trình được thiết kế tại Facebook (Diem project) cho mục đích quản lý tài sản số an toàn. MoveVM chạy bytecode Move, được dùng bởi Aptos và Sui (với một số khác biệt).

Resource Model — Điểm khác biệt cốt lõi

Move có khái niệm "resource" — một loại dữ liệu đặc biệt không thể copy hay drop tùy tiện, chỉ có thể move (chuyển) giữa các owner. Điều này loại bỏ về mặt ngôn ngữ nhiều lớp lỗi phổ biến trong EVM:

  • Không thể tạo token giả (không có backing)
  • Không thể vô tình duplicate hoặc destroy tài sản
  • Reentrancy attacks khó hơn về mặt cấu trúc

Aptos vs Sui

ChiềuAptosSui
Move dialectAptos MoveSui Move (object-centric)
State modelAccount-basedObject-based (mỗi asset là object)
Parallel executionBlock-STM (optimistic parallel)Narwhal-Bullshark DAG
ConsensusAptosBFT (DiemBFT v4)Mysticeti (Bullshark)

VSo Sánh Tổng Hợp

Tiêu chíEVMSVM (Solana)MoveVM (Aptos/Sui)
Ngôn ngữSolidity, VyperRust, CMove
ExecutionSequentialParallel (Sealevel)Parallel (Block-STM/DAG)
State modelAccount (code+state)Program + Data accountsAccount / Object
TPS thực tế~30 (L1), cao hơn với L22K–4K TPS~10K–160K (claimed, lab)
Developer poolRất lớn (Solidity)Trung bình (Rust)Nhỏ (Move)
EcosystemLớn nhấtLớn thứ haiNhỏ (đang phát triển)
Smart contract securityNhiều lỗi known (reentrancy, etc.)Rust safety nhưng Solana-specific bugsResource model giảm lớp lỗi asset

VIParallel Execution — Cơ Chế và Giới Hạn

Parallel execution là key differentiator giữa EVM và các VM mới hơn. Có hai approach chính:

Optimistic Parallel (Aptos Block-STM)

Thực thi tất cả giao dịch song song, giả định không có conflict. Sau khi xử lý, kiểm tra conflict — nếu có, re-execute giao dịch bị conflict. Hiệu quả cao khi conflict rate thấp, nhưng overhead tăng khi nhiều giao dịch động vào cùng state (ví dụ hot NFT mint).

Pessimistic Parallel (Solana Sealevel)

Yêu cầu giao dịch khai báo dependencies trước. Chỉ schedule parallel những giao dịch không conflict. Ổn định hơn nhưng đặt gánh nặng lên developer (phải khai báo đúng account list).

EVM Parallel: Monad và Sei v2 đang xây dựng EVM với parallel execution. Monad dùng optimistic parallel execution giống Block-STM nhưng cho EVM bytecode — mục tiêu 10.000 TPS.

VIIEVM Dominance và Network Effect

Dù có nhiều giới hạn kỹ thuật, EVM vẫn là standard de facto vì network effect mạnh mẽ:

  • Developer tooling: Hardhat, Foundry, Remix, Truffle — đầy đủ và mature nhất
  • Audit firms: Hầu hết top security firm (OpenZeppelin, Trail of Bits) chuyên EVM
  • DeFi protocols: Uniswap, Aave, Compound, Curve — tất cả EVM native
  • Wallet support: MetaMask và mọi wallet phổ biến support EVM
  • L2 ecosystem: Arbitrum, OP, Base — tất cả EVM compatible

SVM và MoveVM có throughput cao hơn EVM L1, nhưng cạnh tranh với EVM + L2 stack là bài toán khó hơn nhiều so với cạnh tranh với EVM L1 đơn thuần.

VIIIKết luận

EVM, SVM và MoveVM đại diện cho ba triết lý thiết kế khác nhau cho execution environment:

  • EVM: battle-tested, ecosystem khổng lồ, sequential — nhưng đang được mở rộng qua L2
  • SVM: parallel execution tích hợp, throughput cao, yêu cầu hardware cao
  • MoveVM: resource model an toàn hơn cho tài sản, parallel execution, nhưng ecosystem nhỏ

Không có VM nào "tốt nhất" cho mọi use case. Lựa chọn VM là lựa chọn kiến trúc quan trọng ảnh hưởng đến throughput, developer experience và bảo mật của toàn bộ ecosystem.

Tham khảo thêm: Bài Blockchain Infrastructure phân tích Execution Layer trong ngữ cảnh kiến trúc 7 lớp tổng thể.

IXGas Model — Cách Tính Chi Phí Execution

Mỗi VM có cách tính chi phí execution khác nhau, ảnh hưởng trực tiếp đến phí người dùng và throughput:

VMĐơn vị đoCơ chế định giáVấn đề
EVMGasEIP-1559: base fee tự động + tip cho validatorState bloat tốn nhiều gas; re-entrancy guard tốn gas
SVMCompute Units (CU)Priority fee thị trường; local fee market per programAccount lock contention; compute budget cứng 1.4M CU
MoveVMGas (Aptos) / SUI (Sui)Aptos: dynamic gas price; Sui: object storage fee riêngObject storage fee mới với developer từ Solidity

Local Fee Market (Solana)

Solana giới thiệu local fee market: phí tăng riêng cho từng program/account bị congested, thay vì tăng toàn mạng như Ethereum EIP-1559. Kết quả: nếu Orca (DEX) bị congested, phí Orca tăng nhưng phí của dự án khác không bị ảnh hưởng. Đây là cải thiện quan trọng so với Ethereum nơi một dApp tắc nghẽn làm tăng phí toàn mạng.

XEVM Parallel Execution — Hướng Đi Mới

EVM truyền thống thực thi transaction tuần tự. Nhiều dự án đang thêm parallel execution vào EVM-compatible environment:

Optimistic Parallel Execution

Giả định transaction không conflict, thực thi song song đồng thời. Nếu phát hiện conflict (hai tx cùng đọc/ghi cùng state), rollback và re-execute tuần tự. Aptos và Monad dùng Block-STM algorithm cho approach này.

Monad — Parallel EVM

  • Mục tiêu: 10.000 TPS với full EVM compatibility
  • Block-STM: thực thi song song, detect conflict sau, rollback nếu cần
  • MonadDB: custom storage tối ưu cho parallel access patterns
  • Async I/O: pipeline execution với storage read
  • Testnet 2024, mainnet chưa có timeline chính thức

Sei v2 — Parallel EVM

Sei v2 tích hợp EVM với Cosmos SDK, thêm optimistic parallel execution. Claim 28.700 TPS trong benchmark — chưa được xác minh độc lập trong điều kiện thực.

Lưu ý benchmark: TPS claims trong lab thường không phản ánh thực tế khi có mixed workload (DeFi + NFT + native transfer). Benchmark thực tế thường thấp hơn 3–5x so với peak theoretical TPS.

XIDeveloper Experience — Góc Nhìn Thực Tế

Tiêu chíEVM (Solidity)SVM (Rust)MoveVM (Move)
Learning curveThấp–Trung bìnhCao (Rust ownership)Trung bình
ToolingRất tốt (Hardhat, Foundry, Remix)Tốt (Anchor framework)Đang phát triển
Audit communityLớn nhấtTrung bìnhNhỏ
Reuse code từ EthereumTrực tiếpKhôngKhông
Security modelRe-entrancy, integer overflow phổ biếnOwnership model giảm nhiều lỗiResource model an toàn hơn
Job marketRất lớnTrung bìnhNhỏ

EVM/Solidity vẫn là lựa chọn mặc định cho hầu hết developer vì ecosystem tooling, audit community và job market lớn nhất. Rust/SVM phù hợp khi cần throughput cao và developer team có background systems programming. Move phù hợp cho dự án muốn resource safety nhưng cần đánh đổi ecosystem nhỏ hơn.

XIIEVM Trên Layer 2 — ZK-EVM Classification

Không phải mọi "EVM-compatible" chain đều tương đương nhau. Vitalik Buterin đã phân loại ZK-EVM theo mức độ compatibility với Ethereum:

TypeMô tảProving speedVí dụ
Type 1EVM hoàn toàn identitcal với Ethereum — prove cả block EthereumRất chậmTaiko (target)
Type 2EVM bytecode equivalent — smart contract Ethereum deploy trực tiếpChậm–Trung bìnhScroll, Polygon zkEVM
Type 2.5EVM equivalent trừ gas cost khácTrung bìnhzkSync Era (một phần)
Type 3EVM gần giống — hầu hết app hoạt động, một số edge case khôngNhanh hơnNhiều ZK rollup giai đoạn đầu
Type 4Compile Solidity xuống custom IR, không phải EVM bytecodeNhanh nhấtzkSync Era (native), StarkNet

Type 1 là lý tưởng về compatibility nhưng proving cost quá cao cho production hiện tại. Hầu hết zkEVM production 2024 là Type 2 hoặc Type 2.5 — đạt được balance giữa compatibility và proving efficiency.

SVM trên Ethereum L2 — Eclipse

Eclipse là project thú vị: dùng Solana Virtual Machine (SVM) làm execution layer nhưng settle trên Ethereum. Developer deploy Solana program lên chain có bảo mật Ethereum. Đây là minh chứng rõ nhất cho modular architecture — VM layer có thể swap độc lập.

XIIITương Lai Execution Layer

Execution layer đang là mặt trận cạnh tranh nhất trong blockchain 2024–2025:

zkVM — Tổng quát hơn ZK-EVM

Thay vì chỉ prove EVM execution, zkVM cho phép prove bất kỳ chương trình nào viết bằng ngôn ngữ thông thường. SP1 (Succinct Labs), RISC Zero, và Jolt cho phép developer viết chương trình Rust thông thường và generate ZK proof — không cần học circuit programming.

  • SP1: Prove Rust programs, dùng nhiều cho bridge proof và coprocessor
  • RISC Zero: RISC-V ISA zkVM, target general computation
  • Jolt (a16z): Lookup-based zkVM, claim faster proving

Parallel EVM Production

Monad (EVM + Block-STM parallel) và Sei v2 (Cosmos + EVM parallel) đang target 10.000+ TPS với full EVM compatibility. Nếu thành công, đây sẽ là bridge giữa EVM ecosystem rộng lớn và throughput của SVM/MoveVM.

Nhận định: Long-term winner trong execution layer sẽ là VM nào cân bằng được: developer adoption (EVM network effect), security (auditing maturity), và performance (parallel execution). Không có VM nào hiện tại đạt cả 3.

Câu Hỏi Thường Gặp

Solana kết hợp nhiều kỹ thuật: SVM parallel execution (tx không conflict chạy đồng thời), Proof of History (VDF cho ordering nhanh), Pipeline processing (tx qua nhiều stage đồng thời), và yêu cầu phần cứng cao hơn nhiều cho validator. Đánh đổi phân tán để đổi lấy throughput.

Move dùng resource model: mọi asset là 'resource' không thể copy hoặc drop ngẫu nhiên — compiler enforce điều này. Ngăn chặn: reentrancy (không thể gọi lại contract đang chạy), integer overflow (built-in check), và double-spend (resource không thể nhân bản). Nhiều lớp lỗi phổ biến trong Solidity không tồn tại trong Move.

EVM-compatible: chain hỗ trợ Solidity và tool Ethereum nhưng có thể khác về opcode hoặc precompile. EVM-equivalent (Type 2 ZK-EVM): bytecode hoàn toàn giống Ethereum — smart contract compiled trên Ethereum deploy không cần sửa. EVM-equivalent an toàn và đáng tin cậy hơn cho developer.

📚Tài liệu tham khảo

  1. Ethereum Foundation (2023). Ethereum Virtual Machine (EVM). ethereum.org/en/developers/docs/evm/
  2. Yakovenko, A. (2019). Sealevel: Parallel Processing Thousands of Smart Contracts. medium.com/solana-labs
  3. Blackshear, S. et al. (2019). Move: A Language With Programmable Resources. developers.diem.com
  4. Aptos Labs (2022). Block-STM: Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing. arxiv.org/abs/2203.06871
  5. Sui Foundation (2022). The Sui Smart Contracts Platform. docs.sui.io
📚 Khám phá thêm theo chủ đề
113 bài phân tích kỹ thuật — Blockchain Infrastructure từ nền tảng đến nâng cao
📋 Xem tất cả bài viết →