Нововведення 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 розробляється з ухилом на ефективність та швидкість, що досягаються за рахунок простого перекладу фактичної логіки кодування.