Aperçu

Fluent est le premier réseau d'exécution hybride. Le projet contient une machine virtuelle sans connaissance (zkVM), un réseau de couche 2 et un cadre de développement pour créer diverses applications basées sur la blockchain sur Ethereum.

La proposition de valeur unique de Fluent réside dans sa capacité à :

  • Simuler des environnements d'exécution (EE) de plusieurs machines virtuelles (VM),

  • Permettre la composabilité en temps réel des contrats intelligents liés aux différentes machines virtuelles (EVM, SVM, Wasm, etc.),

  • Peut être écrit dans divers langages de programmation (ex. Solidity, Rust, etc.),

  • Dans un environnement d'exécution d'état partagé.

Fluent prend en charge la composabilité atomique entre les applications ciblant différentes machines virtuelles, ainsi que les applications « hybrides » constituées de contrats intelligents mélangés et appariés entre elles. Les interactions entre les différents types de contrats pris en charge par le réseau se produisent en arrière-plan, à la fois de manière atomique et en temps réel.


VM fluide

Fluent VM est une version légèrement modifiée du format d'instruction binaire WebAssembly (Wasm) conçue pour les applications vérifiables. Il s'agit d'une version simplifiée de Wasm, appelée rWasm, qui reste compatible avec le jeu d'instructions Wasm d'origine mais est optimisée pour les opérations sans connaissance (zk). Une partie du jeu d'instructions est intégrée dans le fichier binaire, améliorant l'efficacité de la vérification et la facilité d'utilisation du programme Wasm dans zk-rollup.

rWasm prend en charge plusieurs cibles de VM au niveau de la couche d'exécution. Sa structure de compte et d'état est gérée par un contrat système dédié représentant chaque VM prise en charge. Enfin, ces VM sont simulées et compilées dans rWasm pour exécution. La conception est extensible dans la mesure où la prise en charge de machines virtuelles supplémentaires peut être ajoutée au fil du temps. Il assure également une composabilité atomique et synchrone entre les contrats intelligents associés aux différentes VM qu'il prend en charge.

Contrat de compatibilité

Fluent VM inclut des contrats de bibliothèque ou de système éprouvés, appelés contrats de compatibilité. Ces contrats basés sur Wasm définissent les normes EE pour chaque VM prise en charge et fournissent des API pour accéder à ces fonctionnalités. Ils agissent effectivement comme un middleware, permettant aux contrats de chaque VM prise en charge de s'appeler et de récupérer des informations.

Le contrat de compatibilité est similaire à l'implémentation Aurora de Near (mais optimisé pour les opérations zk) et émule les transactions et les blocs EVM. Pour les preuves zk, le contrat de compatibilité est pris en charge par une bibliothèque supplémentaire, Journaled ZK Trie (JZKT), qui est en mémoire/stockage et rend les preuves sur les STF Fluent standard plus efficaces.

JZKT est le même que le trie zk standard, mais avec une différence majeure, il est réversible. Cela garantit l’atomicité des transactions selon différentes normes. Si une opération échoue dans le cadre d'une transaction multi-opérations, toutes les transactions précédentes seront également restaurées. De plus, en plaçant ce processus dans une bibliothèque unifiée, la surface de chaque norme est enveloppée dans un circuit plus grand, ce qui facilite sa preuve.



Réseau Courant L2

Fluent L2 est un zk-rollup permettant d'exécuter des applications Wasm, EVM et SVM en un seul endroit. Il prend en charge l'exécution mixte de différentes cibles de VM dans un environnement d'exécution d'état partagé pour permettre la composabilité en temps réel entre les applications de différents écosystèmes. Le réseau est compatible EVM et SVM, maintient le codage ABI pour tous les contrats et n'introduit aucune surcharge supplémentaire pour le déploiement d'applications dans Solidity, Vyper ou Solana Rust.

En fin de compte, toutes les machines virtuelles sur Fluent sont simulées au niveau de la couche d'exécution et compilées dans des machines virtuelles Fluent rWasm pour exécution. Chaque VM est représentée par un contrat de système central basé sur Wasm (le « contrat de compatibilité » de la VM), qui définit ses normes EE et fournit des API pour accéder à ces fonctionnalités. Bien que Fluent prenne initialement en charge les contrats basés sur Wasm, EVM et SVM, il est conçu pour être extensible pour prendre en charge d'autres intégrations de VM.

Modèle de déploiement d'applications

Fluent L2 prendra en charge deux types d'applications : partagées et privées.

  1. Partager l'application :Il s'agit d'applications de contrats intelligents qui partagent l'état dans l'environnement d'exécution Fluent. Notez que toutes les applications partagées sur Fluent L2 sont écrites en temps réel, même sur différentes cibles de VM et langages de programmation (tels que Rust et Solidity).

  2. Applications spécialisées : ces applications sont des machines à états autonomes et personnalisables qui exploitent Fluent pour l'agrégation et la vérification des preuves. Les développeurs peuvent personnaliser le runtime de l'application souveraine, les couches de modularité (par exemple DA, séquençage), etc.



Cadre Fluentbase

Le framework Fluentbase est utilisé pour déployer des contrats intelligents sur Fluent L2 ainsi que des environnements blockchain et informatiques vérifiables compilés dans rWasm. Il introduit un SDK et un système de preuve pour les fonctions de transition d'état Fluent (STF). C'est la base de Fluent L2 et peut être utilisé pour construire :

  • Applications hybrides : Contrats intelligents rédigés sur Fluent L2 à l'aide de différents langages de programmation pris en charge par le réseau.

  • Réseau d'exécution hybride : réseau basé sur une blockchain (L2, L3, etc.) qui émule plusieurs cibles de VM sur une couche d'exécution partagée.

  • Environnement informatique arbitraire : un environnement informatique dédié hors chaîne avec une logique arbitraire.

Fluentbase prend en charge la construction intégrée de blockchains modulaires, y compris les couches DA (Celestia, Avail, etc.), les séquenceurs partagés (Espresso, Nodekit), etc.

Communauté

Twitter @fluentxyz

discorde https://discord.gg/fluentlabs