Logo
Поділитися цією статтею

EVM 2.0: у гонці, щоб замінити серце Ethereum

Віртуальна машина, яка дозволяє Ethereum обчислювати все децентралізованим способом, зазнає масштабної реконструкції.

В основі Ethereum лежить віртуальний комп’ютер.

Віртуальна машина Ethereum , або EVM, зберігається в десятках тисяч вузлів, які складають платформу, і відповідає за виконання незліченних токенів, dapps, DAO і цифрових кошенят, з яких складається блокчейн.

Продовження Нижче
Не пропустіть жодної історії.Підпишіться на розсилку Crypto Long & Short вже сьогодні. Переглянути Всі Розсилки

Це механізм, на основі якого працює весь Ethereum , і він розмовляє мовою під назвою «байт-код EVM» — необроблені 256- BIT рядки інформації, які можуть надати будь-яке мислиме рівняння (за умови, що воно відповідає обмеженню, встановленому платформою, GAS).

Звучить сильно і важливо, правда? Щось, з чим не варто забувати?

Проте ця невід’ємна частина інфраструктури Ethereum готується до повного перепису.

«Я б стверджував, що на початку T було багато дизайнерського мислення», — сказав Лейн Реттіг, розробник Ethereum , CoinDesk про EVM. «Це було щось на кшталт інструменту – швейцарський армійський ніж, як я б його описав – він робить купу речей, але не дуже добре».

Таким чином, поточну EVM буде замінено новою віртуальною машиною під назвою eWASM.

EWASM — це лише версія коду WASM (що означає WebAssembly) для ethereum, створена Консорціумом Всесвітньої павутини (W3C), командою розробників, відповідальною за підтримку та стандартизацію Інтернету.

«Є багато високооплачуваних, дуже досвідчених інженерів і багато тисяч годин професійних інженерів, які пішли на створення концепції [WASM] конструктора – порівняно з EVM», – сказав Реттіг, який бере участь у розробці eWASM.

Дійсно, eWASM дозволить розробникам кодувати кількома мовами програмування — не лише спеціальною мовою для Ethereum, Solidity — і, як кажуть, також має безліч покращень продуктивності.

Довіра до рішення полягає в тому, що Ethereum приєднається до кількох конкурентів, включаючи EOS, TRON і Cardano, кожен з яких розгорнув (або планує розгорнути) віртуальні машини для конкретних проектів для обробки децентралізованих обчислень за допомогою коду WASM.

Для Ethereum перемикач налаштований на виконання разом з парою інших оновлень, які тепер називаються «Shasper», які включають шардинг рішення для масштабування та переписування майнінгу Casper протягом наступних кількох років. І хоча точні терміни переходу T визначені, розробка eWASM швидко прогресує та готується до запуску своєї тестової мережі на Devcon 4, конференції розробників Ethereum , яка відбудеться в Празі в жовтні.

Говорячи про рішення замінити існуючу машину, Реттіг резюмував:

«Ethereum перебуває на етапі переходу від незграбної домашньої спеціальної роботи, на якій ми їздимо навколо нашої FARM, до справжнього гоночного автомобіля, який ми можемо вивезти на шосе та відкрити».

«Бородавчастий» спосіб

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

Наприклад, більшість розробників dapps програмують на Solidity від Ethereum, високорівневої мови програмування, яка автоматично компілюється у форму, сумісну з байт-кодом EVM.

Оскільки EVM покладається на «дуже великі, широкі інструкції», сказав Реттіг, навіть найменші типи обчислень, такі як базова арифметика, потрібно буде перетворити на 256- BIT рядки – складний процес для простої математики – щоб EVM обробив їх.

Це лише ONE з кількох операцій, вбудованих у системний код, які, на думку Реттіга, там T повинні бути. Інший включає популярну хеш-функцію SHA-3.

Через це Реттіг описує EVM як «бородавчастий».

І Нік Джонсон, розробник CORE Ethereum , погодився, сказавши CoinDesk , що коли він приєднався Ethereum, для нього одразу стало очевидно, що EVM створили розробники з глибоким розумінням комп’ютерної науки, але без великого досвіду створення продуктів для широкого використання.

Як інструмент, підкреслив Джонсон, EVM був «оптимізований для теоретичної чистоти, а не для практичного використання».

«У нього є ці величезні реєстри, але всі вони однакові, і він дуже внутрішньо узгоджений і так далі, — сказав він, — але він не побудований з урахуванням реалізації в реальному світі».

«Ближче до металу»

Код WASM, з іншого боку, був створений з урахуванням виробництва.

По ONE, Реттіг сказав, що він побудований «ближче до металу», тобто код, який він виконує, близький до фактичних апаратних інструкцій, тому менше зусиль витрачається на переклад різних логік кодування.

«Інструкції дуже точно імітують фактичні апаратні інструкції», — продовжив Реттіг. «Ці інструкції можуть співставлятися один до одного безпосередньо з інструкціями, які виконують фактичні пристрої, тож теоретично ви можете отримати досить захоплюючі покращення продуктивності».

Наприклад, розробники, які створюють на основі Ethereum, зможуть кодувати, використовуючи кілька мов – незалежно від того, яка їм найбільш зручна – включно з тими, що мають додаткові переваги безпеки.

Ще одна ключова перевага — яку, за словами Реттіга, деякі розробники називають «ключовою мотивацією eWASM» — це те, що вона потенційно позбавляється так званого «попереднього компілювання».

Оскільки EVM складається з громіздкого коду, певні операції потрібно вбудувати всередину системи — інакше операції перевищуватимуть пов’язані з ними витрати на GAS . Так звані попередні компіляції, щоб зробити такі операції доступними в мережі, потрібне загальносистемне оновлення або хардфорк; і такі оновлення виявилися ризикованими та складними для організації.

Однак розробники стверджують, що з eWASM операції можна просто записати як розумні контракти та розгорнути, пропускаючи сценарій хардфорка.

«Завдяки eWASM він достатньо ефективний у виконанні обчислювальних завдань, тому більшість цих попередніх компіляцій можна було б позбутися й замінити лише контрактами eWASM», — сказав Джонсон.

Розбите серце

Проте, як і будь-яка істотна зміна в децентралізованій екосистемі, поштовх до відмови від EVM не позбавлений критики.

З ONE , розробник CORE Ethereum Грег Колвін, який роками присвятив підтримку EVM, не бажає відмовлятися від старого коду.

Колвін сам розробляв нещодавно вдосконалену версію коду EVM під назвою EVM 1.5, яка спочатку мала стати майбутнім віртуальної машини Ethereum . Однак без попередження некомерційна організація Ethereum Foundation припинила його фінансування.

«Я був розлючений», — сказав Колвін, який брав участь у створенні Рада магів Ethereum, дискусійна група, присвячена вдосконаленню технічної майстерності Ethereum, після досвіду, повідомила CoinDesk. «Я думав, зачекайте хвилинку, ви T будете платити мені 8,40 доларів на годину, коли ви вже скоротили мої години до 20 з 35, тож навіщо я це роблю. А потім решту року я більше не міг дозволити собі працювати волонтером».

Проте причиною протистояння aWASM Колвіна є T лише гордість.

За його словами, з eWASM також є технічні проблеми. Наприклад, оскільки eWASM підтримує кілька мов, код значною мірою покладається на так звані «компілятори» — те, що, на думку Колвіна, може бути єдиною точкою збою для зловмисників.

Він також не переконаний, що смарт-контракти eWASM можуть замінити потребу в прекомпіляції.

Крім того, Колвін має ще одну критику, орієнтовану на дизайн, з якою погоджується навіть Реттіг. За словами обох розробників, чомусь більш неефективна технологія зазвичай перемагає. Візьмемо, наприклад, Javascript, який є ONE з найпоширеніших мов програмування, але відомий як особливо потворний.

«Схоже, що в Технології та комп’ютерній науці існує закономірність, коли найкраще розроблені речі не тільки не обов’язково WIN, але, здається, вони не дуже добре працюють», — стверджував Реттіг.

Не кажучи вже про те, що, за словами Колвіна, незважаючи на всю роботу над розробкою WASM, код ще відносно не перевірений у дикій природі.

Колвін сказав CoinDesk:

«Я T розумів, чому ми хочемо бути першими впроваджувачами експерименту, коли ми вже були першими впроваджувачами нашого власного експерименту».

Непередбачуваність

Крім конфліктів, eWASM набирає обертів серед багатьох розробників Ethereum .

Дійсно, планується розгорнути його як тестову мережу до конференції розробників Ethereum Devcon4 у листопаді.

Однак це T означає, що нова віртуальна машина буде розгорнута найближчим часом.

Оскільки eWASM спочатку буде виведено на шард або сайдчейн, перш ніж замінювати саму EVM, розгортання eWASM тісно пов’язане з оновленням Shasper. А з точки зору часу це означає, що розробникам потрібно буде приділити увагу дослідженню, яке лежить в основі цих змін, перш ніж перейти до eWASM.

На жаль, хід таких досліджень може бути непередбачуваним.

Дійсно, неоднозначність, пов’язана з оновленням коду такого роду, була джерелом плутанини для широкої групи розробників Ethereum , які створюють платформу.

«Якщо ви перебуваєте в процесі створення нового клієнта, виникне багато плутанини: чи повинен я створювати eWASM? Чи повинен я створювати EVM? Чи повинен я створювати обидва? Чи повинен я створювати щось інше», — сказав Реттіг CoinDesk.

Відсутність ясності була ONE із ключових розчарувань для Колвіна, тому що, коли справа доходить до поточної EVM, є деякі проблеми з продуктивністю, які можна було б легко покращити, але вони були перекриті раптовою зміною дорожньої карти.

«Деякий час я розчаровувався, eWASM явно був поза горизонтом, але без надто великих ресурсів EVM 1.5 був на NEAR горизонті. І тепер це все ще можливо, але його підштовхнули, цілий рік був витрачений даремно», — сказав Колвін CoinDesk.

Чим більше, тим веселіше?

Тим не менш, і Реттіг, і Колвін визнають, що ця невизначеність є лише частиною внеску в проект з відкритим кодом без будь-якого центрального керівництва.

«Аспект спільноти дуже важливий. Якби це була компанія, мене б давно не було», — сказав Колвін CoinDesk.

Крім того, Реттіг QUICK стверджувати, що коли мова заходить про вдосконалення Ethereum , марна робота не буває.

Дійсно, продовжив він, через характер оновлення шардингу, який розбиває Ethereum на менші, більш керовані частини, кілька віртуальних машин можуть підтримуватися на Ethereum.

Про оновлений Ethereum Реттіг сказав: «Немає єдиного Ethereum, немає єдиної дорожньої карти, немає єдиного органу влади, це спільнота, це сімейство технологій, і я не вірю, що майбутнє — це лише ONE ланцюг, який керуватиме всіма».

Відповідно до цього eWASM також розблокує нові рівні сумісності. По ONE, він побудований на мові, стандартизованій для всесвітньої павутини, тому додати підтримку клієнта Ethereum Light у браузері було б тривіально.

І це також може прокласти шлях до невідомої сумісності між різними блокчейнами.

«Можливо, у вас тут є квадратичний шардинг, а тут Plasma, і, можливо, вони подекуди перекриваються, і, можливо, у нас є ланцюжок Dfinity, який спілкується з ланцюгом Ethereum , який спілкується з Bitcoin через Cosmos і Polkadot», — сказав Реттіг, припустивши:

«Ми просто T знаємо, тому T зациклюйтесь на офіційній канонічній дорожній карті, якою б вона не була».

Паперове серце зображення через Shutterstock

Rachel-Rose O'Leary

Рейчел-Роуз О'Лірі — кодер і письменник у Dark Renaissance Technologies. Вона була провідним технічним автором для CoinDesk у 2017-2018 роках, охоплюючи технології Політика конфіденційності та Ethereum. Вона має досвід цифрового мистецтва та філософії та пише про Крипто з 2015 року.

Rachel-Rose O'Leary