Нововведения Ethereum 2.0. Что такое eWASM?

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

Внедрение eWASM поставит Ethereum в один ряд с такими проектами, как EOS, Tron, Cardano, которые используют WebAssembly в своих процессах. Задача eWASM — оптимизировать функционирование блокчейна, используя язык программирования WASM. 

WASM (WebAssembly) — инновационный формат двоичного кода для клиентских скриптов (последовательности действий для автоматического выполнения задач) для современных браузеров. Основателем WASM является организация World Wide Web Consortium. 

Для WebAssembly характерен небольшой размер, поэтому он загружается и работает очень быстро. В результате применения этого языка программирования, достигается максимальная скорость выполнения смарт-контрактов, а также появляется возможность разрабатывать умные контракты на классических языках программирования (C, C++ и Rust). WASM совместим с любыми аппаратными и машинными архитектурами для запуска программ.

Кроме того, eWASM исключает необходимость в проведении хард-форка. С помощью этой виртуальной среды текущие предварительно скомпилированные контракты EVM можно заменить контрактами eWASM, просто переписав и повторно развернув.
Схема работы WASM. Источник — Interlogica.it

Схема работы WASM. Источник — Interlogica.it

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

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

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

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

Архитектура виртуальной машины. Источник — Microsoft.

Почему от EVM придется отказаться?

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

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

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