Как работает Ethereum Virtual Machine (EVM)?

Как работает Ethereum Virtual Machine (EVM)?

Основное

  • EVM (Ethereum Virtual Machine) — виртуальная вычислительная среда, распределенный компьютер, отвечающий за выполнение алгоритмов в сети Ethereum, называемых смарт-контрактами.
  • EVM считается полной по Тьюрингу машиной, что означает теоретическую возможность обработки любых вычислений, которые могут быть сделаны на компьютерах при достаточном количестве вычислительных ресурсов.
  • В качестве платы за выполнение смарт-контрактов EVM использует «газ» (gwei), который включается в стоимость транзакции. Конкретный объем газа, который должен оплатить пользователь, зависит от сложности выполняемых вычислений и текущей загруженности блокчейна Ethereum.

Создатель EVM

Концепцию Ethereum Virtual Machine изложил в «Yellow Paper» в 2015 году сооснователь Ethereum и технический директор Ethereum Foundation Гэвин Вуд. Он также разработал язык программирования Solidity, с помощью которого создают смарт-контракты на блокчейне Ethereum . В 2016 году Вуд покинул Ethereum, чтобы заняться развитием нового проекта — Polkadot .

Для чего нужна Ethereum Virtual Machine

EVM можно представить как множество распределенных компьютеров, занятых вычислением по одинаковым правилам в одной сети, не имеющих централизованного органа управления.

В отличие от протокола биткоина, представленного как распределенный реестр, Ethereum представляет большую структуру данных, за обработку и изменение которых отвечает EVM. Любой код, записанный в блок Ethereum, выполняется на каждой из десятков тысяч виртуальных машин независимо друг от друга.

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

Значение «газа» для EVM

Газ (gwei) в Ethereum выполняет функцию внутренней валюты, используемой в качестве оплаты за операции, проводимые на EVM. 1 gwei равен 0.000000001 ETH. «Газ» в Ethereum — аналог автомобильного топлива, которым пользователь должен «заправить» перевод перед началом движения.

Лимит газа для каждой транзакции будет различаться в зависимости от сложности операции и загруженности сети Ethereum. Например, в середине 2021 года на фоне ажиотажного спроса на мем-криптовалюту Shiba Inu

Высокая комиссия за транзакцию в Ethereum

Средняя комиссия за транзакцию в Ethereum достигла достигла $60, своп на Uniswap стоил $135, а пополнение депозита в Compound — более $200. Главной причиной этого стала высокая нагрузка на блокчейн — большое количество пользователей параллельно совершали операции с Shiba Inu .

Защита от злоумышленников и атак на блокчейн

Если операция окажется слишком сложной, количества выставленного лимита газа может не хватить, и EVM перестанет обрабатывать транзакцию, не записав ее в блокчейн Ethereum.

Отсутствие газа в качестве оплаты за работу EVM могло бы привести к бесконечно сложным вычислениям, способным остановить сеть из-за перегрузки. Таким образом, газ в Ethereum выполняет функцию защиты от злоумышленников и атак на блокчейн.

Где используется EVM

Несмотря на то, что многие криптопроекты используют собственные виртуальные машины, блокчейн Ethereum — не единственная платформа, работающая на EVM. Вот некоторые блокчейн-платформы, использующие эту разработку:

  • Ethereum Classic . Платформа для создания и выполнения смарт-контрактов на основе алгоритма консенсуса Proof-of-Work.
  • VeСhain . Блокчейн, построенный на механизме консенсуса Proof-of-Authority.
  • Fantom . Платформа для смарт-контрактов с применением направленного ациклического графа (DAG), полностью совместимая с EVM.

Развернутая поверх Ethereum сеть протоколов и блокчейнов.

EVM-совместимые блокчейны

Виртуальная машина Ethereum имеет ряд недостатков, в том числе высокую стоимость хранения данных, низкую масштабируемость, высокую цену на газ во время перегрузок сети Ethereum и существенные ограничения для программирования смарт-контрактов.

В качестве решения этих проблем могут выступать EVM-совместимые сети, в которых используется среда для исполнения кода, аналогичная виртуальной машине Ethereum, но при этом намного более дешевые транзакции за счет специальных решений масштабирования. Это позволяет разработчикам децентрализованных приложений в экосистеме Ethereum без особых проблем мигрировать в более масштабируемые блокчейны без необходимости с нуля писать смарт-контракты.

Одна группа таких решений называется сайдчейны . Они могут использовать отдельные блокчейны со своим алгоритмом консенсуса и параметрами создания блоков, но EVM-совместимую виртуальную машину. Среди примеров сайдчейнов Ethereum — Matic (Polygon PoS), Gnosis Chain или Loom Network.

Другой вариант — решения второго уровня (Layer 2), работающие на базе технологии Rollups. Один из примеров L2-проектов — платформа Optimism , использующая протокол Optimistic Rollups

В этом блокчейне EVM контролирует смарт-контракты, а роллап-протокол хранит и проводит вычисления состояний контрактов в отдельной виртуальной машине Optimistic Virtual Machine.

Развитие Ethereum Virtual Machine (EVM):

В ближайшие годы в Ethereum планируется несколько крупных обновлений, в том числе переход блокчейна на новый алгоритм консенсуса Proof-of-Stake, называемый The Merge.

Переход Ethereum на Proof-of-Stake (PoS): все, что нужно знать

В июле 2022 года Виталик Бутерин представил план разработки блокчейна Ethereum, в котором заявлен переход на новую виртуальную машину Ethereum WebAssembly (eWASM).

Разработчики выделяют следующие преимущества eWasm: быстрое исполнение смарт-контрактов, возможность разработки контрактов на популярных языках программирования, таких как C, C++, и Rust, а также доступ к огромному сообществу разработчиков и инструментам WebAssembly.

Что еще почитать?

Хотите узнать, что такое Etherscan? Смотрите статью по ссылке.

CryptoIt