Чт. Дек 26th, 2024

Главное

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 достигла достигла $60, своп на Uniswap стоил $135, а пополнение депозита в Compound — более $200. Главной причиной этого стала высокая нагрузка на блокчейн — большое количество пользователей параллельно совершали операции с Shiba Inu.

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

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

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

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

  • Ethereum Classic. Платформа для создания и выполнения смарт-контрактов на основе алгоритма консенсуса Proof-of-Work. 
  • VeСhain. Блокчейн, построенный на механизме консенсуса Proof-of-Authority.
  • Fantom. Платформа для смарт-контрактов с применением направленного ациклического графа (DAG), полностью совместимая с EVM.
  • Polygon. Развернутая поверх 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 должен состояться ряд крупных обновлений, первым из которых должен стать The Merge — переход блокчейна на новый алгоритм консенсуса Proof-of-Stake.

https://forklog.com/cryptorium/perehod-ethereum-na-proof-of-stake-pos-vse-chto-nuzhno-znat/

В июле 2022 года Виталик Бутерин представил поэтапный план разработки блокчейна Ethereum. Одним из этих основных этапов должна стать смена Ethereum Virtual Machine на новую виртуальную машину — Ethereum WebAssembly (eWASM).

Хотя окончательной и подробной документации eWasm пока нет, разработчики выделяют ее следующие преимущества:

  • Скорость исполнения смарт-контрактов, близкая к нативной;
  • Возможность разработки контрактов на многих популярных языках, включая C, C++, и Rust;
  • Доступ к огромному сообществу разработчиков и инструментам WebAssembly.