Предпродажа $EX5 — уровень Seed · 500M фиксированная эмиссия · 50% сжигание · регистрация на portal.ex5.comУЧАСТВОВАТЬ →
Обновлено

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

Кратко: Виртуальная машина Ethereum (EVM) — это «Тьюринг-полная» виртуальная машина, которая предоставляет рабочую среду для каждого смарт-контракта в Ethereum.

Виртуальная машина Ethereum (EVM) — это «Тьюринг-полная» виртуальная машина, которая предоставляет рабочую среду для каждого смарт-контракта в Ethereum. Она гарантирует, что код, развёрнутый разработчиками, выполняется так, как задумано, и абсолютно одинаково на каждой ноде сети.

Почему это важно

Разработчики пишут смарт-контракты на таких языках, как Solidity или Vyper, и компилируют их в байт-код, который исполняет EVM. Каждая полная нода выполняет один и тот же байт-код с одними и теми же входными данными и должна получить одинаковый результат. Так сеть приходит к согласию о балансах и состоянии контрактов, не доверяя какому-либо одному серверу. «Тьюринг-полнота» означает, что EVM в принципе может выполнить любую программу. На практике каждая операция стоит газа, а у каждой транзакции есть лимит газа, поэтому программа не может выполняться в бесконечном цикле и перегружать сеть. Многие другие блокчейны совместимы с EVM: они исполняют такой же байт-код и используют тот же формат адресов 0x. Это помогает разработчикам повторно использовать код, но именно поэтому криптобиржи просят выбрать правильную сеть при вводе или выводе средств.

Пример

Разработчик пишет контракт токена на Solidity, компилирует его и развёртывает байт-код в Ethereum. Когда пользователь затем вызывает функцию перевода этого контракта, EVM на каждой ноде выполняет тот же самый код, проверяет баланс отправителя и обновляет оба баланса. Если код сталкивается с ошибкой или ему не хватает газа, EVM откатывает изменения.

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