Монеты: ~ 1 000

Биржи: ~ 600

Рыночная капитализация: ~ 3,2 трлн $

Объём за 24 ч: ~ 62 млрд $

Доминирование: BTC: 57.3% ETH: 12.1%

ETH Gas: 0.7 Gwei

USD

EVM - виртуальная машина для Ethereum.

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

guide EVM - виртуальная машина для Ethereum.

Вследствии этого EVM стал лучшей блокчейн технологией в сфере крипты. 


Смарт-контракт, что это?


Идея умных-контрактов витала в воздухе задолго до того, как мир увидел Биткоин. В 1990-х годах криптограф и визионер Ник Сабо (Nick Szabo) заложил фундамент концепции, описав в своих работах будущее, где "умные контракты" станут неотъемлемой частью цифрового взаимодействия.


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


Почему Ethereum ? EVM открыла новые горизонты для умных-контрактов


Биткоин, без сомнений, занимает центральное место в системе криптовалют, оставаясь самой узнаваемой цифровой валютой. Логично предположить, что смарт-контракты – важная составляющая децентрализованных систем – могли бы быть выполнены на его блокчейне. На самом деле, блокчейн BTC поддерживает базовую реализацию умных контрактов с помощью своего языка скриптов. К примеру, мультиподпись – это простой умный контракт.


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


Здесь на арену выходит Ethereum с его серьезным инструментом – Ethereum Virtual Machine (EVM). В отличие от Биткоина, EVM была специально разработана для исполнения смарт-контрактов. Если Биткоин возможно представить как «распределенный реестр», фиксирующий транзакции, то Ethereum с EVM – это «распределенный ПК», способный выполнять сложные алгоритмы и задачи, превращая идею умных контрактов в реальность.


Что такое EVM: Погружение в основу Ethereum


Главным элементом системы Ethereum есть Ethereum Virtual Machine (EVM). Официальная документация Ethereum характеризует EVM как «мировой виртуальный ПК», работоспособность которого поддерживается и синхронизируется каждым элементом сети Ethereum. Это значит, что всякий пользователь может запустить исполнение любого кода на EVM. Реализация этого кода изменит состояние системы, показывая изменения на всех узлах сети.


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


Как EVM Ethereum управляет данными


Ethereum Virtual Machine (EVM) — сложная система управления состояниями, а не просто механизм выполнения кода. Документация Ethereum описывает Ethereum как разрозненную систему состояний, которая отслеживает и записывает любое изменение. В EVM состояние — это большая база данных, которая хранит всю информацию о сетевых аккаунтах и их балансах, а также состояние самой EVM, способной выполнять любой код. Эти данные меняются от одного блока к другому в согласии с заранее заданными правилами. Эти правила предопределяют, как и когда состояния изменяются в вирт.машине Ethereum.


Представим EVM как сложное математическое значение, которое при получении определенного ввода (input) генерирует нужный вывод (output). Это выглядит так: Y(S, T) = S', где:

S — состояние сети в данное время, T — набор операций, Y — переход между состояниями, S' — полученное состояние сети уже после выполнения транзакций.


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


Есть два вида транзакций, которые обрабатывает EVM: Обычные транзакции, известные как вызовы сообщений, имеют возможность отправлять ETH или работать с существующими смарт-контрактами. Работа над созданием новых смарт-контрактов известна как создание контрактов. 


Какие языки понимает EVM


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


Когда программисты применяют языки высоких уровней Solidity или Vyper, EVM выполняет их код напрямую. В ходе компиляции код переписывается в байткоды, перед тем как он станет понятным для EVM. Байткод это низкоуровневый набор команд, которые EVM может понимать и выполнять. Опкод — это операция, выполняемая для каждого байткода по отдельности. Базовая команда опкод указывает EVM что именно надо выполнить в данный момент. Например опкод может указать машине выполнять математические операции сложение/умножение, или выполнять операции, предназначенные для блокчейна.


Опкоды в EVM можно разделить на две категории:

 

Обычные операции:

 

ADD — сложение чисел,

MUL — умножение чисел,

XOR — логическая операция исключающего «или»,

AND — логическая операция «и».


Специфичные для блокчейна операции:

 

ADDRESS — получение адреса текущего контракта,

BALANCE — проверка баланса определенного кошелька,

BLOCKHASH — извлечение хэша определенного блока.


Два самых известных языка для написания умных контрактов на Ethereum — Solidity и Vyper. Solidity предлагает большой набор инструментов для разработки и напоминает JavaScript для сложных контрактов. Vyper похож на Python по защите и просты использования. 


Газ в Ethereum: Как он управляет выполнением смарт-контрактов


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


Газ — это единица измерения стоимости вычислительных операций в сети Ethereum. Цена за газ указана в Gwei, что равно 0.000000001 Эфира. Каждую операцию, которую выполняет EVM, требует своей суммы газа.


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


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


Ключевые аспекты работы смарт-контрактов в Ethereum


ПО, которые исполняются в децентрализованной сети. Эти контракты, по сути, являются фрагментами кода, которые находятся по уникальному адресу в блокчейне и взаимодействуют с сетью по строгим установкам. Центральную роль в обеспечении их работы выполняет Ethereum Virtual Machine (EVM), которая обеспечивает корректное исполнение кода и поддержание текущего состояния системы.


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


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


Ферма (EVM) выполняет контракты. Она знает и выполняет код соглашения. Это гарантирует, что каждый пользователь сети выполняет набор задач одновременно. Хоть EVM поддерживают много программных языков, Solidity и Vyper чаще всего применяют в таких операциях. Программные языки, предназначенные для создания умных контрактов на Ethereum, дают программистам серьезные возможности для создания сложных децентрализованных приложений (dApp). 


Вывод


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