July 30

[Fluent] База знаний

Дисклеймер:
Я не профессиональный переводчик, я люблю разбираться в технологиях, поэтому перевожу статьи. Если вы найдете ошибку или неточность в формулировках, сообщите мне об этом в X или Дискорд, я с удовольствием поправлю перевод.
Надеюсь, перевод будет вам полезен <3

Автор перевода:

X: https://x.com/learn3xyz

Discord: Riviera07

Источник: 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.

Особенности rWasm:

  • Поддержка нескольких виртуальных машин (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) и другие компоненты модульной архитектуры.