# История Wasm в блокчейне

By [Untitled](https://paragraph.com/@0x12fb667f72c4f0a69d3e4ecec7762e62186fe4f2-2) · 2024-11-18

---

**Возникновение Wasm**
======================

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

Поскольку веб-приложения требовали динамического взаимодействия с элементами HTML-документа, был введен JavaScript. Он быстро стал популярным и некоторое время оставался единственным языком программирования, используемым в браузере.

Однако JavaScript, как стандарт, был полезен, но в то же время ограничен. Что, если некоторые разработчики не знали JavaScript? Что, если JavaScript не был самым лучшим языком для определенных задач?

Здесь на помощь пришел WebAssembly: низкоуровневый, портативный, бинарный формат и целевая компиляция для языков программирования высокого уровня. Он эффективен, безопасен и гибок.

Введение WebAssembly (Wasm) означало, что JavaScript больше не должен был быть единственным языком в вебе. Разработчики могли писать производительный код на таких языках, как Rust, Go, C, C++ и т. д., и компилировать их в модули Wasm для выполнения в браузере. Это открыло новые возможности для высокопроизводительных веб-приложений, таких как 3D-графика, видеомонтаж, игры и многое другое.

**Популярность Wasm в Web2**
============================

История Wasm не закончилась браузером. Со временем он вышел за пределы своих первоначальных задач и стал использоваться для создания самых сложных распределенных приложений.

Вот лишь несколько примеров того, как Wasm используется:

*   **Электронная коммерция и оптимизация серверной части:**
    
    *   Shopify: Использует Wasm для оптимизации работы серверной части ради скорости и эффективности.
        
*   **Инструменты для дизайна и сотрудничества:**
    
    *   Figma: Переход от asm.js к WebAssembly привел к тройному увеличению производительности.
        
    *   Миграция AutoCAD: Подобно Figma, AutoCAD использует Wasm для решения сложных зависимостей Windows OS.
        
*   **Мультимедиа и развлечения:**
    
    *   Netflix: Использует Wasm для создания интерактивных видеовзаимодействий, повышая вовлеченность пользователей.
        
*   **Разработка ПО и инструменты:**
    
    *   Adobe: Инвестирует в WebAssembly, расширяя возможности разработки программного обеспечения в браузерной среде.
        
    *   Microsoft: Интегрирует Wasm в Azure Functions, Visual Studio Code и Edge, формируя современные инструменты разработки.
        
*   **Игры и интерактивные технологии:**
    
    *   Unity: Использует Wasm для создания высокопроизводительных игр на разных платформах.
        
    *   Pinterest: Применяет Wasm для создания динамичного пользовательского опыта.
        
*   **Инфраструктура и финансовые технологии:**
    
    *   Fastly/Cloudflare: Использует Wasm для повышения производительности сети, оптимизируя доставку контента.
        
    *   Visa: Применяет Wasm для безопасной обработки платежей и защиты чувствительных данных пользователей.
        

Wasm способствовал инновациям в различных секторах. От электронной коммерции и развлечений до разработки ПО, игр, сетевых технологий и критически важных систем — влияние Wasm стало поистине преобразующим.

**Популярность Wasm в Web3**
============================

Переносимся в эпоху Web3, где Wasm также оказался крайне востребован. За последние пять лет он был принят как среда выполнения для многих крупных блокчейн-проектов. Вот несколько значимых примеров:

*   Cosmos для его L1 SDK
    

![](https://storage.googleapis.com/papyrus_images/d4f82cb535a69f3792fc3f945737696beec4ae6ad7ee7822bc2f416087727c5b.png)

*   NEAR для его шардированного L1
    

![](https://storage.googleapis.com/papyrus_images/ae424474cb902ab82c326b691c43cf71365804cd3e86ccacc922d4f993f5f9d8.png)

*   Polkadot для его L1 SDK
    

![](https://storage.googleapis.com/papyrus_images/2af74ce7d65f70df5a9dd237f70149d35659981a0baf20b581434b2468384d1b.png)

Причины популярности Wasm в Web3 не сильно отличаются от причин его популярности в Web2. Это эффективность, стандартизация, безопасность и, конечно, гибкость выбора языков программирования. Вот как звучит видение Internet Computer, представленное техническим лидером Dfinity на тот момент Андреасом Россбергом, который также является соавтором Wasm:

«Наша цель — чтобы разработчики могли программировать в Internet Computer на любом языке, который им нравится.»

Поддержка языков общего назначения не только создает более интуитивно понятный опыт для разработчиков, работающих с Web3, но и позволяет миллионам новых разработчиков строить решения на блокчейне. Каждый из вышеупомянутых проектов (а также несколько других, таких как Tezos, EOS и др.) понимал, что выполнение через Wasm — это мощная идея.

**Проблемы Wasm в Web3**
========================

Что же произошло? Почему миллионы разработчиков не строят решения на блокчейне? Почему Wasm не стал самой популярной средой выполнения в нашем еще довольно нишевом мире Web3?

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

Это очень трудно сделать устойчивым способом. Создать действительно децентрализованную и разрешенную сеть доверия (которая не будет субсидироваться венчурными капиталистами или легкими деньгами) — это как начать революцию. Для этого нужно совершенно другое мастерство, чем для разработки распределенных систем.

«Создание децентрализованной сети доверия — это как найти единорога. Децентрализованное доверие не является общим свойством. Оно возникает из социального консенсуса, который формируется годами» — Шрирам Каннан.

Реальность такова, что лишь немногие блокчейн-проекты — даже те, у которых есть впечатляющие технические инновации — смогли создать устойчивые сети доверия. Можно утверждать, что только два блокчейна смогли это сделать на данный момент: Bitcoin и Ethereum. Это затрудняет достижение высоких темпов распространения таких новых сред выполнения, как Wasm.

**Эксперимент Ethereum с Wasm**
===============================

Естественно, возникает вопрос: если выполнение через Wasm так желанно, почему Bitcoin и Ethereum не приняли эту технологию?

Для Bitcoin ответ прост. Сеть доверия Bitcoin дает несколько ключевых обещаний, одно из которых — «без хардфорков». Это сразу исключает возможность замены ограниченной скриптовой среды Bitcoin на более программируемую среду Wasm.

Для Ethereum необходимо немного углубиться в историю.

Ethereum flavored [Wasm (Ewasm) был предложен в 2015](https://github.com/ethereum/EIPs/issues/48) году и рассматривался в течение нескольких лет. Чтобы было понятно, Ewasm — это [«ограниченный подмножество Wasm, которое должно было использоваться для контрактов в Ethereum».](https://github.com/ewasm/design#what-is-ethereum-flavored-webassembly-ewasm)

[Целями проекта Ewasm были создание транслятора EVM,](https://github.com/ewasm/design#goals-of-the-ewasm-project) реализация виртуальной машины, инжектор учета метрик и многое другое. Чтобы лучше понять концепцию Ewasm, ознакомьтесь с следующими ресурсами:

*   [Обоснование и преимущества](https://github.com/ewasm/design/blob/master/rationale.md)
    
*   [Сравнение с другими виртуальными машинами](https://github.com/ewasm/design/blob/master/comparison.md)
    
*   [Прогресс за 3.5 года](https://drive.google.com/file/d/0BxAMY3dJTXy-MmF4UVZ6bzhkTE1BTDFFQXlyWmJrRGRxeXAw/view?resourcekey=0-_Sjkgbcc0vjHqxu8BDD4hA)
    

**Так что же с Ewasm?**
=======================

В конечном итоге Ethereum Foundation решила отказаться от Ewasm и остаться с выполнением через EVM. [Несмотря на определенные проблемы с совместимостью и шардированием выполнения](https://drive.google.com/file/d/0BxAMY3dJTXy-WF94VnJ6Qmd3bGp5SGxRTlY1MHVFRzFhMFB3/view?resourcekey=0-HvfVGWWDABVYxPfpLW37HA), решение стало частью более широкой стратегической переориентации. Эта переориентация была исследована [Виталиком Бутериным](https://vitalik.ca/general/2018/08/26/layer_1.html) [и Кейси Детрио](https://www.youtube.com/watch?si=L_gSlAcsxSycTDUk&v=mOm47gBMfg8&feature=youtu.be), а позже официально оформлена как [«дорожная карта Ethereum, ориентированная на роллап»](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698).

![](https://storage.googleapis.com/papyrus_images/21c50f3bfdbd0d1b36f3d6eea09c0f9f070796a5591425db97daef03ee0a3c2c.png)

**Будущее без разрешений**
==========================

Зачем произошел этот поворот?

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

![](https://storage.googleapis.com/papyrus_images/039dbd8c7ae1601dc9de66b6c951c247234f3785fbd7e6026b14de1e18dd7147.png)

![](https://storage.googleapis.com/papyrus_images/4549140f8af0ee7f3e6b02bfc0143294408ffb2c15ba4b4e6ba5d5f834762ad7.png)

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

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

**Где же Fluent?**
==================

В Fluent наша миссия — воплотить выполнение через Wasm в Ethereum в реальность.

Мы считаем, что команды Wasm двигались в правильном направлении и глубоко разделяем ценности Ethereum. Мы уверены, что технологии ZK откроют новый способ решения проблемы, и что для открытия доступа к безопасному блокспейсу необходимо создать [в 10 раз лучшие условия для разработчиков](https://mirror.xyz/fluentlabs.eth/EyB2e-wqezw2uAaFOsgoJvqaADhujof6d2ut62CKP8Q).

Если это вам откликается, присоединяйтесь и [создавайте вместе с нами!](https://form.typeform.com/to/ytQi1Pdc)

---

*Originally published on [Untitled](https://paragraph.com/@0x12fb667f72c4f0a69d3e4ecec7762e62186fe4f2-2/wasm)*
