Виртуальная машина Ethereum (EVM): полный обзор

Когда Виталик Бутерин создавал Ethereum, он хотел расширить границы технологии блокчейн. Его вдохновил Биткоин, но Виталик чувствовал, что технология должна делать нечто большее, чем просто обрабатывать транзакции. В результате он создал блокчейн Ethereum. Она обладает всеми функциями биткоина, может обрабатывать одноранговые транзакции и хранить их в неизменном и децентрализованном виде. Но у сети есть и другие свойства, например в ней можно выполнять смарт-контракты.

Как же блокчейн запускает смарт-контракт? В случае с Ethereum это возможно благодаря виртуальной машине Ethereum Virtual Machine (EVM). EVM лежит в основе сети Ethereum. В этой статье мы обсудим, что такое EVM, как она работает, ее преимущества и примеры использования. Но сначала давайте вкратце рассмотрим, что такое смарт-контракты.

Что такое смарт-контракты

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

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

Что такое виртуальная машина Ethereum (EVM)

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

Как это работает

Поскольку Ethereum не только обрабатывает одноранговые операции по обмену ценностью, этому блокчейну требуется сложная вычислительная система. Поэтому сеть нельзя назвать распределенным реестром, разработчики называют ее неограниченной машиной стейтов. Именно так и работает EVM. У сети Ethereum есть два стейта: на общем уровне (world state) и на уровне машины (machine state).

Evm

Стейт на общем уровне

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

Стейт на уровне машины

В этом стейте EVM осуществляет пошаговую обработку транзакций. Его также часто называют песочницей Ethereum для разработчиков. Сеть Ethereum обрабатывает два типа транзакций. Первый — вызов сообщения, когда с одного счета передаются токены ETH другому. В этом сценарии EVM перемещает токены ETH с одного адреса кошелька на другой. После информация о транзакции обновляется в стейте на общем уровне. С отправителя взимается плата за вычисления, выполненные при отправке транзакции.

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

Язык программирования Solidity

Чаще всего для создания смарт-контрактов Ethereum используют язык программирования Solidity. Как и Javascript, это язык высокого уровня для людей. Но машины его не понимают. Поэтому, написав смарт-контракт на Solidity, разработчики должны перевести его на машинный язык, или в байткод, с помощью компилятора виртуальной машины Ethereum, например solc.

Выполнение смарт-контракта

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

Плата за газ Ethereum

Плата за газ играет важную роль в обработке транзакций на блокчейне Ethereum. Когда в Ethereum использовался механизм консенсуса Proof of Work (PoW), для обработки транзакции требовалось аппаратное обеспечение и электроэнергия, а майнерам — стимулы для выполнения задач. Плата за газ при переводе токенов ETH зависит от перегруженности пула.

При выполнении смарт-контрактов плата за газ приобретает другую роль. На этапе исполнения байткоды смарт-контрактов разбиваются на более мелкие части, которые называют опкодами. Опкоды — это сокращение от “операционные коды”, инструкции, которые EVM использует для вычислений. Каждому опкоду присваивается плата за газ — чем сложнее опкод, тем выше стоимость. Этот шаг необходим для защиты блокчейна Ethereum от вредоносных атак. Например, если пользователь осуществит DDos-атаку, EVM продолжит выполнять смарт-контракт в машинном состоянии. Она будет взимать плату за газ за каждое вычисление, и когда у отправителя закончится газ, транзакция будет отклонена.

Каковы преимущества EVM

Как описано выше, EVM предотвращает атаки злоумышленников на сеть. Поэтому она позволяет выполнять смарт-контракты и другие автоматизированные услуги на безопасной и надежной платформе.

Сеть Ethereum имеет самую большую криптоэкосистему. Это золотой стандарт для создания dApp и развертывания смарт-контрактов. Многие другие блокчейны создали побочные блокчейны, которые позволяют разработчикам Ethereum переносить свои приложения без изменения кода.

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

Примеры использования EVM

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

Токены ERC-20

Токены ERC-20 генерируются смарт-контрактами с помощью предопределенных структур данных, которые отвечают за присвоение токену имени, его распространение и отслеживание. В 2017 году, когда были популярны первичные предложения монет (ICO), с использованием токенов ERC-20 были запущены многие новые криптовалюты. Сегодня токены ERC-20 лучше всего использовать для стейблкоинов, таких как USDT.

Децентрализованные биржи (DEX)

Децентрализованные биржи позволяют покупать, продавать криптовалюты и торговать ими. Такие биржи, как Uniswap и ShushiSwap, также используют приложения автоматизированных маркет-мейкеров (AMM), позволяя взаимодействовать с пулами ликвидности без вмешательства третьих сторон.

NFT

Невзаимозаменяемые токены (NFT) — это цифровые произведения искусства, хранящиеся в блокчейне. Они удостоверяют право собственности, а скопировать их нельзя. Энтузиасты блокчейна используют смарт-контракты, чтобы создавать NFT-коллекции. Среди самых дорогих коллекций NFT — Bored Ape Yacht Club (BAYC) и Cryptopunks. Владельцы могут передавать и обменивать свои NFT на рыночных площадках, таких как OpenSea.

Децентрализованное кредитование

Кредитование в сфере децентрализованных финансов (DeFi) осуществляется на платформах, которые позволяют брать и давать займы в криптовалюте без привлечения третьей стороны. Протоколами заимствования и кредитования управляют смарт-контракты. Заемщики моментально получают кредиты, а кредиторы иногда получают проценты ежедневно.

Децентрализованные автономные организации

Децентрализованная автономная организация (DAO) — это общественное образование, в котором отсутствует центральный орган власти. Участники DAO коллективно принимают решения по управлению проектом. Правила DAO устанавливают основные члены сообщества и реализуются с помощью смарт-контрактов.

Ограничения EVM

У EVM есть два существенных ограничения. Во-первых, пользователи должны знать язык Solidity и уметь программировать. Многим людям требуется помощь в этом, что затрудняет создание смарт-контрактов и взаимодействие с ними.

Второе ограничение — при создании смарт-контракта или развертывании приложения в сети Ethereum плата за газ может стать очень высокой.

Какие криптовалюты совместимы с EVM

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

  • Binance Smart Chain
  • Avalanche
  • Fantom
  • Cardano
  • Polygon
  • Tron

Будущее EVM

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


Часто задаваемые вопросы

Что такое EVM в криптовалюте?

EVM расшифровывается как Ethereum Virtual Machine. Это цифровое программное обеспечение, которое позволяет сети Ethereum выполнять и развертывать смарт-контракты.

Какие криптовалюты используют EVM?

Многие из самых популярных блокчейнов в основном придерживаются EVM-совместимого подхода:

  • Binance Smart Chain
  • Avalanche
  • Fantom
  • Cardano
  • Polygon
  • Tron

Работает ли Solana на базе EVM?

Нет. Сеть Solana не совместима с EVM. Она использует свою собственную уникальную инфраструктуру, наборы инструментов для разработчиков и стандарты токенов.

Каковы преимущества EVM?

  • EVM — это защищенная от хакеров среда, позволяющая создавать и внедрять смарт-контракты.
  • EVM обеспечивает совместимость, то есть разработчики могут легко и быстро переносить свои приложения на различные блокчейны, не меняя ни строчки кода.
  • EVM также децентрализована. Благодаря этому любой человек может создавать смарт-контракты и взаимодействовать с ними без необходимости получать разрешение.
Похожие статьи
Показать еще
Показать еще