Visão geral
Fluent é a primeira rede de execução híbrida. O projeto contém uma máquina virtual de conhecimento zero (zkVM), rede de camada 2 e estrutura de desenvolvimento para construir vários aplicativos baseados em blockchain no Ethereum.
A proposta de valor exclusiva da Fluent é sua capacidade de:
Simular ambientes de execução (EEs) de múltiplas máquinas virtuais (VMs),
Permitir a composição em tempo real de contratos inteligentes relacionados a diferentes máquinas virtuais (EVM, SVM, Wasm, etc.),
Pode ser escrito em várias linguagens de programação (por exemplo, Solidity, Rust, etc.),
Em um ambiente de execução de estado compartilhado.
Fluent oferece suporte à composição atômica entre aplicativos direcionados a diferentes máquinas virtuais, bem como aplicativos "híbridos" que consistem em contratos inteligentes misturados e combinados entre eles. As interações entre os diferentes tipos de contratos suportados pela rede ocorrem em segundo plano, tanto de forma atômica quanto em tempo real.
VM Fluente
Fluent VM é uma versão minimamente modificada do formato de instrução binária WebAssembly (Wasm) projetado para aplicativos verificáveis. É uma versão simplificada do Wasm, chamada rWasm, que permanece compatível com o conjunto de instruções original do Wasm, mas é otimizada para operações de conhecimento zero (zk). Parte do conjunto de instruções está incorporada no arquivo binário, melhorando a eficiência da verificação e a facilidade de uso do programa Wasm no zk-rollup.
rWasm oferece suporte a vários alvos de VM na camada de execução. Sua conta e estrutura de estado são gerenciadas por um contrato de sistema dedicado que representa cada VM suportada. Finalmente, essas VMs são simuladas e compiladas no rWasm para execução. O design é extensível, pois o suporte para VMs adicionais pode ser adicionado ao longo do tempo. Também garante a composição atômica e síncrona entre contratos inteligentes associados às diferentes VMs que suporta.
Contrato de compatibilidade
O Fluent VM inclui contratos comprovados de biblioteca ou sistema, chamados contratos de compatibilidade. Esses contratos baseados em Wasm definem os padrões de EE para cada VM suportada e fornecem APIs para acessar esses recursos. Eles atuam efetivamente como middleware, permitindo que os contratos de cada VM suportada liguem entre si e recuperem informações.
O contrato de compatibilidade é semelhante à implementação Aurora do Near (mas otimizado para operações zk) e emula transações e blocos EVM. Para provas zk, o contrato de compatibilidade é suportado por uma biblioteca adicional, Journaled ZK Trie (JZKT), que fica na memória/armazenamento e torna as provas em STFs Fluent padrão mais eficientes.
JZKT é igual ao zk trie padrão, mas com uma grande diferença: é reversível. Isso garante a atomicidade das transações em diferentes padrões. Se uma operação falhar como parte de uma transação multioperação, todas as transações anteriores também serão restauradas. Além disso, ao colocar esse processo em uma biblioteca unificada, a área de superfície de cada padrão é envolvida em um circuito maior, facilitando a prova.
Rede L2 Fluente
Fluent L2 é um zk-rollup para executar aplicativos Wasm, EVM e SVM em um só lugar. Ele oferece suporte à execução mista de diferentes destinos de VM em um ambiente de execução de estado compartilhado para permitir a composição em tempo real entre aplicativos de diferentes ecossistemas. A rede é compatível com EVM e SVM, mantém a codificação ABI para todos os contratos e não introduz sobrecarga adicional para implantação de aplicativos em Solidity, Vyper ou Solana Rust.
Em última análise, todas as VMs no Fluent são simuladas na camada de execução e compiladas em VMs Fluent rWasm para execução. Cada VM é representada por um contrato de sistema central baseado em Wasm (o "contrato de compatibilidade" da VM), que define seus padrões de EE e fornece APIs para acessar esses recursos. Embora o Fluent inicialmente ofereça suporte a contratos baseados em Wasm, EVM e SVM, ele foi projetado para ser extensível para oferecer suporte a outras integrações de VM.
Modelo de implantação de aplicativo
O Fluent L2 oferecerá suporte a dois tipos de aplicativos: compartilhados e privados.
Compartilhar aplicativo:Esses são aplicativos de contrato inteligente que compartilham estado no ambiente de execução Fluent. Observe que todos os aplicativos compartilhados no Fluent L2 são escritos em tempo real, mesmo em diferentes destinos de VM e linguagens de programação (como Rust e Solidity).
Aplicativos especializados: esses aplicativos são máquinas de estado autônomas e personalizáveis que utilizam o Fluent para agregação e verificação de provas. Os desenvolvedores podem personalizar o tempo de execução soberano do aplicativo, camadas de modularidade (por exemplo, DA, sequenciamento) e muito mais.
Estrutura Fluentbase
A estrutura Fluentbase é usada para implantar contratos inteligentes no Fluent L2, bem como blockchain e ambientes de computação verificáveis compilados em rWasm. Ele introduz um SDK e um sistema de prova para funções de transição de estado fluente (STFs). É a base do Fluent L2 e pode ser usado para construir:
Aplicações híbridas: Contratos inteligentes escritos em Fluent L2 utilizando diversas linguagens de programação suportadas pela rede.
Rede de execução híbrida: uma rede baseada em blockchain (L2s, L3s, etc.) que emula vários alvos de VM em uma camada de execução compartilhada.
Ambiente de computação arbitrário: Um ambiente de computação dedicado fora da cadeia com lógica arbitrária.
Fluentbase suporta a construção integrada de blockchains modulares, incluindo camadas DA (Celestia, Avail, etc.), sequenciadores compartilhados (Espresso, Nodekit), etc.
Comunidade
Twitter @fluentxyz
discórdia https://discord.gg/fluentlabs