# альты / # биткоин / # блокчейн / # биржи / # ICO / # события / # регулирование / # тренды / # финансы / # Украина / # Россия # World news

Что такое 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 достигла достигла $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.