Віртуальна машина (Virtual Machine, VM)
16.04.2026
Віртуальна машина (virtual machine, VM) у блокчейн-контексті — це ізольоване середовище виконання, яке детерміновано запускає байткод смарт-контрактів на кожному вузлі мережі. Кожен повний вузол незалежно виконує один і той самий байткод з однаковими вхідними даними і зобов'язаний прийти до однакового стану — без детермінізму консенсус був би неможливий.
Це не те саме, що системна віртуальна машина на кшталт VMware або VirtualBox, яка емулює цілий комп'ютер. Блокчейн-VM ближче до Java Virtual Machine: вузький інтерпретатор конкретного байткоду без файлової системи, мережі та недетермінованих операцій.
Навіщо блокчейну VM
Виконання нативного коду було б швидше, але небезпечно: баг або навмисний нескінченний цикл у контракті міг би зупинити всі вузли одразу. VM забезпечує:
- Ізоляцію (sandbox) — код контракту не може читати файли, відкривати сокети або викликати хостову ОС
- Детермінізм — однакові вхідні дані дають однаковий результат на будь-якому вузлі та будь-якому обладнанні
- Облік ресурсів — кожна операція коштує газ; коли газ закінчується, виконання зупиняється, запобігаючи DoS
- Портативність — один і той самий байткод працює на будь-якій реалізації специфікації VM
EVM (Ethereum Virtual Machine)
EVM — найпоширеніша блокчейн-VM. Це стекова машина з розміром слова 256 біт, підібраним під розмір криптографічних примітивів на кшталт хеша Keccak-256.
- Solidity або Vyper компілюються в байткод EVM
- У кожного опкоду є ціна в газі; складні операції (SSTORE, CALL, keccak) коштують дорожче
- EVM-сумісні мережі (Polygon, Arbitrum, Optimism, BNB Chain, Avalanche C-Chain, Base) запускають один і той самий байткод без змін — тому MetaMask і Hardhat працюють всюди однаково
SVM (Solana Virtual Machine)
VM Solana заснована на eBPF (extended Berkeley Packet Filter) — технології ядра Linux, адаптованої як sBPF. Контракти пишуться на Rust або C і компілюються в sBPF-байткод.
- Sealevel — паралельний рантайм Solana — виконує непересічні транзакції одночасно, використовуючи заздалегідь заявлені списки доступу до акаунтів
- Регістрова архітектура (на відміну від стекової EVM), ближче до реальної архітектури CPU
VM на WASM
WebAssembly (WASM) — портативний байткод, спочатку спроектований для браузерів, все частіше використовується як цільова VM для блокчейнів. Мережі на WASM: NEAR, Polkadot (через рантайм Substrate pallet-contracts), Cosmos CosmWasm, Internet Computer.
WASM мовно-незалежний — розробники можуть писати на Rust, C++, AssemblyScript або Go — і спирається на зрілу екосистему інструментів за межами крипти.
VM на Layer-2
Ролапи наслідують або розширюють існуючі VM:
- Optimism, Arbitrum, Base — EVM-еквівалентні
- zkSync Era — EVM-сумісна через власний zkEVM
- Starknet — працює на Cairo VM, спроектованій спеціально під STARK-докази
- Scroll, Polygon zkEVM, Linea — zkEVM з еквівалентністю на рівні байткоду
