EVM (Ethereum Virtual Machine)
Кратко: EVM, или виртуальная машина Ethereum, — это вычислительный движок Ethereum, то есть среда, в которой выполняются смарт-контракты.
EVM, или виртуальная машина Ethereum, — это вычислительный движок Ethereum, то есть среда, в которой выполняются смарт-контракты. Каждый узел исполняет один и тот же код с одинаковыми входными данными и должен получить один и тот же результат.
Почему это важно
Разработчики пишут контракты на таких языках, как Solidity, затем компилируют их в байт-код EVM и развёртывают в блокчейне. У каждой операции, которую выполняет EVM, есть стоимость в газе: это предотвращает бесконечные циклы и заставляет пользователей платить за запрошенную ими вычислительную работу. Поскольку EVM стала стандартом де-факто, многие другие блокчейны, например BNB Smart Chain и Avalanche C-Chain, совместимы с EVM: в них работают те же контракты, кошельки и инструменты, а адрес обычно имеет одинаковый формат в каждой из этих сетей.
Пример
Когда пользователь обменивает токены на децентрализованной бирже, его кошелёк отправляет транзакцию, которая вызывает смарт-контракт. Каждый узел Ethereum шаг за шагом исполняет байт-код этого контракта в EVM и обновляет балансы токенов. Если газ в транзакции заканчивается до её завершения, EVM откатывает все внесённые ею изменения, но уже израсходованный газ всё равно оплачивается.