Arbitrum Stylus: новий стандарт можливості складання смарт-контрактів

СереднійJan 06, 2024
У статті розглядається мотивація Arbitrum Stylus, деталі його реалізації та його вплив на простір Web3.
Arbitrum Stylus: новий стандарт можливості складання смарт-контрактів

Вступ

Від боротьби з байт-кодом на Etherscan до захисту від усіляких експлойтів коду в Solidity, стек технологій EVM у розробці блокчейну значно відрізняється від стеку технологій web2 для багатьох розробників, таким чином створюючи «розрив» між технологією Solidity-EVM стек і основні мови, такі як Rust, C++ або Python. Оскільки простір блокчейну продовжує розвиватися, існує велика потреба подолати цю прогалину серед розробників і забезпечити набагато більш зручну розробку web3.

У цій статті ми представимо останній проект Offchain Labs, Arbitrum Stylus, представлений на конференції Blockchain Applications Stanford Summit (BASS) під час Stanford Blockchain Week. Arbitrum Stylus — це знаковий проект, який спрямований на створення нового стандарту компонування смарт-контрактів шляхом уніфікації середовища виконання EVM із середовищем WASM. Спочатку ми обговоримо деякі мотиви, що стоять за цим проектом, перш ніж зануритися в деякі деталі впровадження проекту та, нарешті, обговорити вплив проекту на простір web3.

Мотивація для Arbitrum Stylus

Arbitrum Stylus було розроблено для вирішення двох ключових проблем у розробці блокчейну: (1) доступність розробки блокчейну та (2) ефективність виконання смарт-контрактів.

Робимо розробку блокчейнів доступнішою

Звіт розробника від Electric Capital. Зображення з джерела [1]. Процитовано 20 жовтня 2023.

Згідно зі звітом розробників Electric Capital, наразі близько 20 000 активних блокчейн-розробників щомісяця [1]. Хоча ця кількість значно зросла за останні кілька років, вона все ще на порядки відстає від мільйонів (або десятків мільйонів) розробників, які використовують мови загального призначення, такі як Rust або C++. Оскільки простір блокчейнів продовжує зростати, зростає потреба в спрощенні процесу залучення мільйонів нових розробників смарт-контрактів.

Одним із найкращих способів зробити це є інтеграція процесу розробки смарт-контракту з існуючими основними мовами, такими як Rust або C++. Це підхід, який прийняли багато екосистем, які не належать до EVM, наприклад Solana та Cosmos, і Rust стає де-факто мовою розумних контрактів у цих екосистемах. Однак досі екосистема EVM для написання смарт-контрактів переважно покладається на власну окрему мову програмування Solidity. Однак Arbitrum Stylus прагне змінити це, дозволивши розробникам блокчейнів писати смарт-контракти основними мовами, такими як Rust, а потім розгортати їх у EVM-сумісних мережах.

Зробіть виконання розумних контрактів більш ефективним

За останні кілька років, коли популярність децентралізованих програм різко зросла, різко зріс попит на обчислення в мережі, особливо в мережі Ethereum. Цей сплеск попиту в мережі призвів до непомірних цін на газ. Це, у свою чергу, стимулювало шквал інновацій у збільшенні транзакційної пропускної здатності публічних блокчейнів, і Arbitrum є одним із найвидатніших проектів та екосистем у цьому просторі. Це включає в себе флагманський ланцюг Arbitrum One L2, а також стек технологій Arbitrum Nitro .

Arbitrum Stylus є природним розширенням усіх цих і останнього рішення в наборі інструментів Arbitrum. Порівняно з попередніми рішеннями, які зосереджуються на оптимізації міжтранзакційної ефективності транзакцій (наприклад, групування транзакцій через зведення), Stylus зосереджується на оптимізації внутрішньотранзакційного рівня, зокрема того, як виконується кожна транзакція. Завдяки можливості виконання контрактів у WebAssembly (WASM) контракти Stylus є на порядок швидшими, обіцяють нижчу плату за газ, а також мають доступ до пам’яті, який може бути в 100-500 разів дешевшим, ніж використання EVM [2].

Стилус: забезпечує можливість компонування WASM + EVM

WebAssembly і Arbitrum Nitro

Щоб зрозуміти, чому Stylus набагато ефективніший і зручніший, ніж традиційний двигун EVM, нам потрібно спочатку зрозуміти роль WebAssembly або WASM. WASM є формою мови асемблера, що означає, що це, по суті, машиночитаний двійковий код, а не людиночитані мови, такі як Rust або C++. Натомість ці зрозумілі людині мови потребують «компілятора», щоб перетворити їх на машиночитані «мови складання» перед їх виконанням.

Зокрема, WASM, як випливає з назви, є мовою асемблера, оптимізованою для веб-браузерів, щоб збільшити швидкість виконання переважно веб-додатків на основі Javascript. Будучи портативною, модульною та легко виконуваною мовою асемблера, WASM дозволяє розробникам безпосередньо писати фрагменти коду різними основними мовами, такими як Rust або C++ [3].

З оновленням Arbitrum Nitro , оскільки всі суперечки в ланцюжку розігруються в WASM, це означає, що Nitro має робочу систему шахрайства для будь-якого довільного WASM [2]. І оскільки Arbitrum Nitro може надати докази шахрайства для будь-якого коду WASM, це означає, що він може надати докази шахрайства для будь-якої програми, яка компілюється до WASM.

Arbitrum Stylus насамперед додає механізм виконання WASM на додаток до існуючого засобу перевірки шахрайства WASM, успадкованого від Arbitrum Nitro, на основі одного з провідних механізмів WASM під назвою Wasmer, який виконує код набагато швидше, ніж Geth виконує байт-код EVM [2]. Завдяки механізму виконання та механізму перевірки це дозволяє повністю писати, виконувати та перевіряти розумні контракти в WASM. Враховуючи те, що багато основних мов, таких як Rust і C++, можуть компілюватися безпосередньо в WASM, саме так Arbitrum Stylus дозволяє розробникам блокчейнів писати, розгортати та виконувати смарт-контракти на широкому спектрі основних мов загального призначення.

Порівняння EVM зі Stylus EVM+. Зображення з джерела [2].

Узгодженість у EVM+ Engine

Arbitrum Stylus надає розробникам додаткову можливість писати контракти на Rust та інших WASM-сумісних мовах, не жертвуючи можливістю писати та виконувати смарт-контракти в Solidity. Маючи два рівноправних виконавчих механізми EVM і WASM, Stylus також надає розробникам можливість писати частину своєї програми в Solidity, а іншу частину в Rust.

Це, однак, викликає запитання: як Stylus VM керує узгодженістю між двома різними механізмами? Як він дізнається, коли переключатися між EVM і WASM VM?

По-перше, Solidity та інші контракти на основі EVM компілюються в той самий байт-код, а потім виконуються, як зазвичай у чистому механізмі EVM. Смарт-контракти на основі WASM, наприклад написані в Rust, будуть анотовані додатковим «заголовком» на початку контракту. Таким чином, коли ці контракти викликаються, Stylus VM може визначити, для яких контрактів потрібен механізм EVM, а для яких – механізм WASM. Цей дизайн також забезпечує високий ступінь взаємодії, коли контракти, написані в WASM, можуть здійснювати виклики до контрактів, написаних у Solidity, і навпаки. Це також головна відмінність Stylus від інших блокчейнів, які використовують механізми виконання WASM: Stylus гарантує, що контракти WASM повністю комбінуються та сумісні з контрактами EVM, забезпечуючи зворотну сумісність і контракти WASM для використання ліквідності EVM.

Інша перспектива розгляду подвійного механізму EVM і WASM Stylus полягає в тому, щоб розглядати блокчейн як «світову машину стану», яка проходить певні транзакції стану, як визначено в EVM. В Ethereum стан on-chain представлено через структуру Trie або деревоподібну структуру даних, яка використовується для ефективного зберігання та отримання даних [4]. Механізми EVM і WASM Stylus використовують одну і ту ж структуру Trie для читання та запису даних у «світовий автомат». Обидва механізми виробляють деяку задану зміну стану для оновлення стану світу; єдина різниця полягає в тому, як вони обчислюють цю зміну стану.

Економія коштів EVM+ Engine

Раніше ми вже натякали, що використання двигуна WASM може дозволити істотно заощадити кошти завдяки підвищеній ефективності виконання. Тепер ми можемо перевірити, як це досягається. Для цього розглянемо одну інструкцію ADD, скажімо, для 2 + 3.

У EVM нам потрібно буде виконати наступні кроки [5]:

  1. Платіть за газ, вимагаючи багаторазового пошуку таблиці в пам’яті
  2. Розгляньте можливість трасування, навіть якщо вимкнено
  3. Витягніть два предмети зі змодельованого стека
  4. Додайте їх разом
  5. Підштовхніть результат

Ми бачимо, що лише Крок 4 дійсно передбачає додавання цих двох цілих чисел, тоді як усі інші кроки є «шаблонними інструкціями» в системі EVM, усі вони коштують надмірно високу кількість газу порівняно з самим розрахунком.

З іншого боку, припустимо, що ми використали WASM для цієї простої операції ADD. Нам потрібен лише один крок:

  1. Виконайте одну інструкцію x86 або ARM ADD

Порівняння EVM ADD і WASM ADD. Зображення з джерела [7].

Тут ми бачимо, що це в 150 разів дешевше, ніж додавання EVM. Враховуючи всю цю економію газу, Stylus VM навіть представив нову субодиницю «газу», яка називається «чорнилом», яка наразі визначається за замовчуванням як 1/10000 1 газу та навіть може бути налаштована власником мережі [5].

Однак існує одне застереження щодо всієї цієї економії газу, а саме: газ потрібен для активації Stylus VM, наразі встановлено фіксовану норму 114 мільйонів газу. Крім того, виклик самої програми Stylus наразі займає приблизно 128-2048 газу [5]. Таким чином, активація середовища WASM лише для оптимізації для однієї операції ADD для двох цілих чисел може не обов’язково мати економічний сенс. Однак для смарт-контрактів, які потребують інтенсивного використання пам’яті, вся ця економія збільшуватиметься, компенсуючи цю «вартість активації». Наприклад, виклик, який виділяє 3,8 МБ оперативної пам’яті в EVM, коштував би ~32 мільйони газу, тоді як у Stylus WASM VM це коштувало б лише ~64 тисячі газу, забезпечуючи економію в 500 разів [6]. Наслідком цього є те, що програми, які потребують пам’яті, просто неможливі на ванільному EVM, оскільки ви швидко натикаєтеся на всілякі обмеження газу. Однак це стає цілком можливим у Stylus VM, враховуючи, що оперативна пам’ять на порядки дешевша за використання середовища виконання WASM.

Розблокування нових варіантів використання за допомогою стилуса

1. Програми, що потребують інтенсивної пам'яті

Як обговорювалося вище, однією з найбільш захоплюючих частин Arbitrum Stylus є його підтримка мережевих додатків, що потребують пам’яті. Це відкриває цілий новий клас додатків, таких як генеративні AI NFT, високочастотна торгівля та онлайн-ігри [7]. Дійсно, Stylus VM може бути знаковою технологією, яка дозволяє штучному інтелекту, сумно відомому своїми високими вимогами до пам’яті, бути обчислювально життєздатним у мережі та бути повністю сумісним із контрактами EVM.

2. Компонування Alt-VM з ліквідністю EVM

Крім того, сумісність Stylus з EVM і можливість взаємодії контрактів на основі WASM із рідними контрактами Solidity означає, що ці контракти WASM можуть повністю використовувати величезну ліквідність і базу користувачів EVM. Нагадаємо, що ми вже згадували, що багато альтернативних віртуальних машин, таких як Solana та Cosmos, використовують WASM-сумісні мови, такі як Rust, для виконання своїх смарт-контрактів. Механізм WASM Stylus означає, що розробники цих альтернативних віртуальних машин можуть легко перенести свої контракти на екосистему EVM і негайно скористатися перевагами ліквідності EVM.

3. Бібліотеки загального призначення, попередні компіляції та інфраструктура налагодження

Ще одна перевага Stylus, яка дозволяє розробникам використовувати такі основні мови, як Rust і C++, для написання своїх смарт-контрактів, полягає в тому, що розробники можуть використовувати величезну кількість бібліотек загального призначення, які підтримують ці основні мови, які містять усе: від обчислень у мережі до криптографії. примітивів для файлового введення/виведення.

Що ще важливіше, розробники можуть отримати вигоду від складної інструментальної інфраструктури, створеної для цих основних мов. Це включає не лише розширені менеджери пакунків, а й знайому інфраструктуру налагодження, таку як інструментарій GDB у C/C++. Усе це, ймовірно, значно розширить знайомство з web3 у розробці та дозволить значно спростити процес адаптації до розробки блокчейну та стеку EVM.

4. Перенесення On-Chain Computation в IoT для DePIN

Завдяки підвищеній ефективності виконання WASM Stylus VM може відкрити двері для інтеграції мережевих обчислень із портативними пристроями в Інтернеті речей (IoT), включаючи все, від світлофорів до розумних холодильників і розумних годинників. Хоча WASM спочатку призначався для браузерних середовищ, його портативна, модульна архітектура та ефективне виконання зробили його ідеальним для пристроїв IoT, які потребують невеликого та ефективного часу виконання [8].

Таким чином, WASM VM від Arbitrum Stylus є природним підходом для зростаючої тенденції децентралізованих мереж фізичної інфраструктури (DePIN), які прагнуть використовувати мережі блокчейну та нові стимули токенів для підтримки фізичної інфраструктури, від систем WiFi до сонячних батарей [9] . Оскільки велика частина DePIN покладається на інтеграцію стека блокчейну з пристроями Інтернету речей, Arbitrum Stylus може служити важливим шлюзом, який дозволить цим пристроям як ефективно запускати обчислення на основі WASM, так і використовувати EVM-ліквідність через екосистему Arbitrum [10].

Висновок

У цій статті ми детально досліджували мотивацію, впровадження та вплив Arbitrum. Стилус. Дозволяючи розробникам писати та розгортати смарт-контракти на широкому спектрі основних мов, Stylus робить розробку блокчейнів доступнішою та ефективнішою, поєднуючи звичайну компонування з ліквідністю EVM, щоб розблокувати широкий спектр нових програм, особливо тих, які потребують великого обсягу пам’яті. Таким чином, Stylus, мабуть, є знаковим проектом у визначенні наступного покоління складних смарт-контрактів, ставши платформою, яка здатна стерти межі між розробкою web2 і web3, щоб створити більш ефективний, інтегрований і продуктивний стек розробки блокчейнів.

Відмова від відповідальності:

  1. Цю статтю передруковано з [STANFORD BLOCKCHAIN CLUB]. Усі авторські права належать оригінальному автору [Рейчел Боусфілд;Джей Ю]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn , і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!
アカウント作成