Виртуальная машина Ethereum (EVM)

Ethereum Virtual Machine (EVM) — это полная по Тьюрингу виртуальная машина на основе стека, которая выполняет смарт-контракты в блокчейне Ethereum.

EVM-совместимость позволяет разработчикам легко переносить свои приложения между разными блокчейнами.

        graph LR
  Center["Виртуальная машина Ethereum (EVM)"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Rel_smart_contracts["smart-contracts"]:::related -.-> Center
  click Rel_smart_contracts "/terms/smart-contracts"
  Rel_solidity["solidity"]:::related -.-> Center
  click Rel_solidity "/terms/solidity"
  Rel_zkevm_zero_knowledge_ethereum_virtual_machine["zkevm-zero-knowledge-ethereum-virtual-machine"]:::related -.-> Center
  click Rel_zkevm_zero_knowledge_ethereum_virtual_machine "/terms/zkevm-zero-knowledge-ethereum-virtual-machine"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

ЭВМ — это как двигатель внутри компьютера [Ethereum](/ru/terms/ethereum). Она читает специальные инструкции (байт-код) из смарт-контрактов и выполняет действия, подобно шеф-повару, который шаг за шагом следует рецепту. Каждый шаг требует немного денег на "газ", чтобы готовка не длилась вечно.

🤓 Expert Deep Dive

Виртуальная машина Ethereum (EVM) представляет собой детерминированную, стековую среду выполнения, предназначенную для смарт-контрактов. Ее основная функция заключается в обработке вызовов транзакций и переходов состояний в сети Ethereum. Спецификация EVM определяет набор опкодов, размер слова в 256 бит и механизм распределения газа для измерения вычислительных усилий. Детерминизм имеет первостепенное значение: каждый узел, выполняющий один и тот же байт-код с одним и тем же начальным состоянием, должен прийти к идентичному конечному состоянию. Это достигается за счет строгого соблюдения функции перехода состояний EVM. Механизм газа, предотвращая злоупотребление ресурсами, вводит экономические ограничения, которые существенно влияют на дизайн децентрализованных приложений (dApp) и пользовательский опыт, особенно в отношении стоимости транзакций и ограничений пропускной способности. Архитектурные компромиссы включают присущие стековой архитектуре ограничения для сложных вычислений и трудности в оптимизации эффективности использования газа при выполнении смарт-контрактов. Выбор дизайна EVM повлиял на последующие разработки виртуальных машин блокчейна, но также подчеркивает постоянный поиск более высокой производительности и снижения комиссий за транзакции, что привело к таким инновациям, как решения второго уровня (Layer 2) и альтернативные среды выполнения.

🔗 Связанные термины

Предварительные знания:

📚 Источники