
ZKVM là gì
ZKVM (Zero Knowledge Virtual Machine) là máy ảo có khả năng sinh chứng minh zero-knowledge cho bất kỳ lần chạy chương trình nào trên đó. Nếu bạn đã biết zk-SNARKs và zk-STARKs từ bài ZK trước đây, thì ZKVM là lớp trừu tượng tiếp theo: thay vì viết circuit phức tạp, bạn viết code bình thường, compile vào ZKVM, và nó tự sinh proof.
Theo Paradigm Research, ZKVM đại diện cho bước tiến quan trọng nhất trong zero-knowledge computing vì nó loại bỏ rào cản tiếp cận — developer không cần chuyên môn cryptography sâu để build ZK applications.
Cách ZKVM hoạt động

Pipeline ZKVM chia làm 3 giai đoạn:
- Compile: biên dịch code (Rust, C, Go) thành ISA của ZKVM
- Execute: chạy program trên VM, mỗi instruction sinh trace commitment
- Prove: từ trace, sinh succinct proof có thể verify trên Ethereum
Hiệu năng phụ thuộc vào “proving system” bên dưới — RISCV-based ZKVMs dùng STARK cho security và composability, trong khi các hệ thống khác tối ưu proof size bằng SNARK recursion.
So sánh zkEVM và ZKVM
zkEVM và ZKVM thường bị nhầm lẫn, nhưng có khác biệt rõ:
| Tiêu chí | zkEVM | ZKVM |
|---|---|---|
| Mục tiêu | Chạy smart contract EVM | Chạy bất kỳ code nào |
| EVM compat | Full/Partial (tùy loại) | Không |
| Ngôn ngữ | Solidity, Vyper | Rust, C, Go, C++ |
| Proof system | SNARK (nhanh verify) | STARK hoặc SNARK |
| Ví dụ | zkSync, StarkNet, Scroll | RISC Zero, Succinct, zkWasm |

Các dự án ZKVM hàng đầu
RISC Zero
Dự án đầu tiên đưa RISC-V ZKVM vào production. Developer viết Rust, compile sang RISC-V, chạy trên zkVM. Proof có thể verify trên-chain hoặc off-chain. RISC Zero đã hợp tác với nhiều chain để port tính năng ZK.
Succinct (SP1)
SP1 là ZKVM dựa trên RISC-V, tập trung vào performance cho Ethereum. Họ tối ưu proof generation bằng Plonky3 (plonky2 upgrade) — đạt 180 proofs/giây trên GPU.
Polygon CDK
Polygon CDK là framework để launch ZK-rollup tùy chỉnh, hỗ trợ cả zkEVM và ZKVM approach. Các chain built trên CDK có thể dùng unified bridge và liquidity của Polygon ecosystem.
Scroll
Scroll là zkEVM thực thi đầy đủ EVM bytecode, không cần rewrite contract. Proof được sinh bằng Halo2-based proving system — mục tiêu là zkEVM hoàn toàn EVM equivalent.
Khi nào dùng ZKVM thay vì zkEVM
Nếu bạn cần chạy code không phải EVM — AI inference, computation-heavy logic, cross-chain bridge, hay oracle aggregation — ZKVM là lựa chọn phù hợp. Nếu bạn cần triển khai smart contract Solidity hiện có lên Layer 2, zkEVM là cách đơn giản nhất.
Trong 2025, ranh giới giữa ZKVM và zkEVM đang mờ đi khi các ZKVM thêm EVM precompile, và các zkEVM hỗ trợ custom precompiled functions. Điểm mấu chốt là chọn công cụ phù hợp với use case, không phải công nghệ “hot” nhất.
Nguồn tham khảo: Paradigm — ZKVM Primer, Succinct SP1 Docs, RISC Zero Blog, Scroll Blog
