[Fluent] База знаний
Дисклеймер:
Я не профессиональный переводчик, я люблю разбираться в технологиях, поэтому перевожу статьи. Если вы найдете ошибку или неточность в формулировках, сообщите мне об этом в X или Дискорд, я с удовольствием поправлю перевод.
Надеюсь, перевод будет вам полезен <3
Источник: https://docs.fluent.xyz/knowledge-base/fluent-overview
Обзор Fluent
Fluent — первая в своем роде смешанная сеть исполнения (blended execution network). Проект включает в себя виртуальную машину с нулевым разглашением (zkVM), сеть Layer-2 и фреймворк для разработки блокчейн-приложений на базе Ethereum.
zkEVM от Fluent написана на SP1 — исходники доступны здесь:
https://github.com/fluentlabs-xyz/rwasm-zkvm
Уникальное преимущество Fluent заключается в её способности:
- эмулировать среду исполнения (EE) сразу для нескольких виртуальных машин (VM),
- обеспечивать реальную кросс-совместимость смарт-контрактов, написанных под разные VM (EVM, SVM, Wasm и др.),
- на разных языках программирования (например, Solidity, Rust и других),
- в единой среде исполнения с общим состоянием.
Fluent поддерживает атомарную связь между приложениями, ориентированными на разные ВМ, и «смешанными» (blended) приложениями, в которых смарт-контракты из разных сред смешиваются и работают вместе.
Взаимодействие между такими контрактами происходит прозрачно, атомарно и в реальном времени.
Виртуальная машина Fluent
Fluent VM — это минимально модифицированная версия бинарного формата инструкций WebAssembly (Wasm), созданная для проверяемых приложений.
Она представляет собой упрощённую версию Wasm — rWasm, которая сохраняет совместимость с оригинальным набором инструкций, но оптимизирована для операций с нулевым разглашением (zero-knowledge, zk).
Части набора инструкций встраиваются прямо в бинарный код, что повышает эффективность и упрощает проверку Wasm-программ внутри zk-rollup.
- Поддержка нескольких виртуальных машин (VM) на уровне исполнения.
- Структура аккаунтов и состояния управляется специализированными системными контрактами, которые представляют каждую поддерживаемую виртуальную машину
- Все виртуальные машины в итоге эмулируются и компилируются в формат rWasm для исполнения
- Архитектура расширяема — можно добавлять поддержку новых виртуальных машин со временем.
- Обеспечивается атомарная и синхронная компоновка смарт-контрактов, относящихся к разным виртуальным машинам.
Fluent L2
Fluent L2 — это zk-rollup, позволяющий запускать приложения на Wasm, EVM и SVM в одном месте. Он поддерживает blended execution — смешанное исполнение различных виртуальных машин (VM) в единой среде с общим состоянием, что обеспечивает совместимость в реальном времени между приложениями из разных экосистем
Сеть совместима как с EVM, так и с SVM: сохраняются ABI-кодировки всех контрактов, при этом не возникает дополнительных накладных расходов при развёртывании приложений на Solidity, Vyper или Solana Rust.
В конечном итоге, все виртуальные машины в Fluent эмулируются на уровне исполнения и компилируются в Fluent rWasm VM. Каждая виртуальная машина представлена системным контрактом на Wasm (называемым «контракт совместимости» виртуальной машины), который определяет стандарты исполнения и предоставляет API для доступа к функциям виртуальной машины.
На старте Fluent будет поддерживать контракты на Wasm, EVM и SVM, но архитектура платформы расширяема, и в будущем возможна интеграция других виртуальных машин.
Модели развёртывания приложений
Fluent L2 поддерживает два типа приложений: общие (shared) и выделенные (dedicated)
Shared Apps (Общие приложения)
Это смарт-контракты, которые работают в единой среде исполнения с общим состоянием.
Все такие приложения на Fluent L2 могут быть совместимыми в реальном времени, даже если они используют разные виртуальные машины (например, EVM, SVM, Wasm) и написаны на разных языках программирования (например, Rust и Solidity).
Dedicated Apps (Выделенные приложения)
Настраиваемые, независимые состояния (state machines), которые используют Fluent для агрегации и верификации zk-доказательств.
Разработчики могут кастомизировать:
- окружение исполнения приложения (sovereign runtime),
- модульные уровни, такие как слой доступности данных (DA), порядок транзакций (sequencing) и многое другое
Фреймворк Fluentbase
Fluentbase — это фреймворк для развёртывания смарт-контрактов на Fluent L2, а также на других блокчейнах и вычислительных средах, компилируемых в rWasm.
Он включает SDK и систему доказательств для функции перехода состояния (STF, State Transition Function) в Fluent.
Fluentbase лежит в основе Fluent L2 и может использоваться для создания:
- Blended-приложений — смарт-контрактов на Fluent L2, написанных на различных языках программирования, поддерживаемых сетью.
- Blended execution сетей — блокчейн-сетей (L2, L3 и т. д.), которые эмулируют несколько виртуальных машин в едином слое исполнения.
- Произвольных вычислительных сред — off-chain-сред с произвольной логикой исполнения.
Фреймворк Fluentbase также поддерживает интеграции с модульными блокчейнами, включая DA-слои (например, Celestia, Avail), общие секвенсеры (Espresso, Nodekit) и другие компоненты модульной архитектуры.