BTC 95045.9$
ETH 1826.37$
Tether (USDT) 1$
Toncoin (TON) 3.29$
telegram vk
telegram vk Х
Russian English
"

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

Дата публикации:29.11.2022, 16:11
2041
2041
Поделись с друзьями!

С точки зрения рыночной капитализации, эфир, являющийся второй по величине криптовалютой, популярен среди криптовалютных инвесторов из-за собственного токена ETH. Тем не менее, его родной язык программирования Solidity и виртуальная машина Ethereum (EVM) вносят вклад в признании, которое он получает от сообщества разработчиков. Фактически блокчейн Ethereum продолжает привлекать разработчиков децентрализованных приложений (DApp) благодаря своей гибкости, широкому спектру доступных инструментов и большой пользовательской базе платформы.

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

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

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

Созданная в 2013 году программистом Виталиком Бутериным, сеть Ethereum обязана своим феноменальным успехом в качестве предпочтительного блокчейна для разработчиков DApp виртуальной машине Ethereum (EVM), разработанной Гэвином Вудом во время его работы в Ethereum. Написанная на C++ и использующая компилятор LLVM Project, EVM представляет собой специальный конечный автомат, который работает непрерывно и чьи неизменяемые операции определяют состояние каждого блока в блокчейне Ethereum.

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

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

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

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

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

Какова цель виртуальной машины Ethereum (EVM)?

EVM надежно обеспечивает работу всех приложений, работающих в сети Ethereum, без каких-либо серьезных простоев. Для разработчиков EVM действует как всеобъемлющая программа, запускающая более мелкие исполняемые программы, известные как смарт-контракты в Ethereum, предоставляя им свободу писать эти смарт-контракты на различных языках программирования, включая Solidity, Vyper, Python, Yul, и т. д.

Благодаря этой гибкости, предлагаемой EVM, блокчейн Ethereum породил тысячи DApps в пространстве децентрализованных финансов (DeFi) и невзаимозаменяемых токенов (NFT). Каждое из этих DApp и смарт-контракты, из которых они состоят, преобразуются в байт-код, который передается в EVM и распределяется между всеми узлами в сети Ethereum. Когда смарт-контракт развернут, EVM отвечает за связь со всеми узлами и изменение состояния при достижении консенсуса.

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

Преимущества виртуальной машины Ethereum (EVM)

Благодаря тому, как работает EVM, разработчики могут выполнять код, не беспокоясь о его влиянии на остальную часть сети.

Они также могут запускать сложные смарт-контракты в различных вычислительных средах с распределенным консенсусом. Это гарантирует, что сбой одного узла не окажет негативного влияния на работу DApp или смарт-контракта, поскольку код EVM остается одинаковым на всех узлах. Более того, поскольку данные учетной записи хранятся на глобальном уровне в EVM, разработчики считают его идеальным для написания пользовательского кода смарт-контракта и создания отдельных DApp, которые могут получить доступ к этому глобальному набору данных и создавать надежные результаты.

Неприкосновенность результата - это то, что делает EVM и блокчейн Ethereum хорошо подходящими для устойчивого расширения экосистемы DApps и смарт-контрактов Ethereum. Добавьте к этому библиотеку стандартных кодов, доступных разработчикам на выбор, растущее число EVM-совместимых блокчейнов уровня 2 и большое количество возможных потенциальных вариантов использования EVM, и легко поймете, почему EVM является предпочтительной платформой для разработки Web3.

Недостатки виртуальной машины Ethereum (EVM)

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

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

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

Будущее EVM

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

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

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

Подписывайся на наш Telegram канал. Не трать время на мониторинг новостей. Только срочные и важные новости

https://t.me/block_chain24