Глоссарий

Виртуальная машина (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 с эквивалентностью на уровне байткода

Смотрите также