Обзор
Fluent — это первая гибридная сеть исполнения. Проект содержит виртуальную машину с нулевым разглашением (zkVM), сеть уровня 2 и среду разработки для создания различных приложений на основе блокчейна на Ethereum.
Уникальное ценностное предложение Fluent заключается в его способности:
Имитировать среды выполнения (EE) нескольких виртуальных машин (VM),
Обеспечьте возможность компоновки смарт-контрактов в реальном времени, связанных с различными виртуальными машинами (EVM, SVM, Wasm и т. д.),
Может быть написан на различных языках программирования (например, Solidity, Rust и т. д.),
В среде исполнения с общим состоянием.
Fluent поддерживает атомарную компоновку приложений, предназначенных для разных виртуальных машин, а также «гибридные» приложения, состоящие из смарт-контрактов, смешанных и согласованных между ними. Взаимодействие между различными типами контрактов, поддерживаемых сетью, происходит в фоновом режиме, как атомарно, так и в реальном времени.
Свободная виртуальная машина
Fluent VM — это минимально модифицированная версия двоичного формата инструкций WebAssembly (Wasm), предназначенная для проверяемых приложений. Это упрощенная версия Wasm, называемая rWasm, которая остается совместимой с исходным набором команд Wasm, но оптимизирована для операций с нулевым разглашением (zk). Часть набора инструкций встроена в двоичный файл, что повышает эффективность проверки и удобство использования программы Wasm в zk-rollup.
rWasm поддерживает несколько целевых виртуальных машин на уровне выполнения. Его учетная запись и структура состояния управляются специальным системным контрактом, представляющим каждую поддерживаемую виртуальную машину. Наконец, эти виртуальные машины моделируются и компилируются в rWasm для выполнения. Проект является расширяемым, поскольку со временем можно добавить поддержку дополнительных виртуальных машин. Он также обеспечивает атомарную и синхронную компоновку между смарт-контрактами, связанными с различными поддерживаемыми виртуальными машинами.
Контракт совместимости
Fluent VM включает проверенные библиотечные или системные контракты, называемые контрактами совместимости. Эти контракты на основе Wasm определяют стандарты EE для каждой поддерживаемой виртуальной машины и предоставляют API для доступа к этим возможностям. Они эффективно действуют как промежуточное программное обеспечение, позволяя контрактам каждой поддерживаемой виртуальной машины звонить друг другу и получать информацию.
Контракт совместимости аналогичен реализации Aurora от Near (но оптимизирован для операций zk) и эмулирует транзакции и блоки EVM. Для доказательств zk контракт совместимости поддерживается дополнительной библиотекой Journaled ZK Trie (JZKT), которая находится в памяти/хранилище и делает доказательства в стандартных STF Fluent более эффективными.
JZKT — это то же самое, что и стандартное дерево zk, но с одним существенным отличием: оно обратимо. Это обеспечивает атомарность транзакций в разных стандартах. Если операция завершается неудачей в рамках транзакции, состоящей из нескольких операций, все предыдущие транзакции также будут восстановлены. Кроме того, если поместить этот процесс в единую библиотеку, площадь поверхности каждого стандарта будет заключена в более крупную схему, что упрощает доказательство.
Свободная сеть L2
Fluent L2 — это пакет zk для запуска приложений Wasm, EVM и SVM в одном месте. Он поддерживает смешанное выполнение различных целей виртуальных машин в среде выполнения с общим состоянием, что обеспечивает возможность компоновки в реальном времени между приложениями из разных экосистем. Сеть совместима с EVM и SVM, поддерживает кодировку ABI для всех контрактов и не требует дополнительных затрат при развертывании приложений в Solidity, Vyper или Solana Rust.
В конечном итоге все виртуальные машины Fluent моделируются на уровне выполнения и компилируются в виртуальные машины Fluent rWasm для выполнения. Каждая виртуальная машина представлена базовым системным контрактом на основе Wasm («контракт совместимости» виртуальной машины), который определяет ее стандарты EE и предоставляет API для доступа к этим возможностям. Хотя Fluent изначально будет поддерживать контракты на основе Wasm, EVM и SVM, он предназначен для расширения для поддержки других интеграций виртуальных машин.
Модель развертывания приложения
Fluent L2 будет поддерживать два типа приложений: общие и частные.
Поделиться приложением:Это приложения со смарт-контрактами, которые разделяют состояние в среде выполнения Fluent. Обратите внимание, что все общие приложения на Fluent L2 пишутся в реальном времени, даже для разных целевых виртуальных машин и языков программирования (таких как Rust и Solidity).
Специализированные приложения. Эти приложения представляют собой настраиваемые автономные конечные автоматы, которые используют Fluent для агрегирования и проверки доказательств. Разработчики могут настраивать среду выполнения приложений, уровни модульности (например, DA, секвенирование) и многое другое.
Фреймворк Fluentbase
Платформа Fluentbase используется для развертывания смарт-контрактов на Fluent L2, а также блокчейна и проверяемых вычислительных сред, скомпилированных в rWasm. Он представляет SDK и систему доказательства для функций плавного перехода состояний (STF). Он является основой Fluent L2 и может использоваться для создания:
Гибридные приложения: Смарт-контракты, написанные на Fluent L2 с использованием различных языков программирования, поддерживаемых сетью.
Гибридная сеть выполнения: сеть на основе блокчейна (L2, L3 и т. д.), которая эмулирует несколько целевых виртуальных машин на общем уровне выполнения.
Произвольная вычислительная среда: выделенная вычислительная среда вне сети с произвольной логикой.
Fluentbase поддерживает интегрированное создание модульных блокчейнов, включая уровни DA (Celestia, Avail и т. д.), общие секвенсоры (Espresso, Nodekit) и т. д.
Сообщество
Твиттер @fluentxyz
дискорд https://discord.gg/fluentlabs