Überblick

Fluent ist das erste hybride Ausführungsnetzwerk. Das Projekt umfasst eine wissensfreie virtuelle Maschine (zkVM), ein Layer-2-Netzwerk und ein Entwicklungsframework zum Erstellen verschiedener Blockchain-basierter Anwendungen auf Ethereum.

Das einzigartige Wertversprechen von Fluent ist seine Fähigkeit:

  • Ausführungsumgebungen (EEs) mehrerer virtueller Maschinen (VMs) simulieren,

  • Ermöglichen Sie die Zusammensetzbarkeit intelligenter Verträge in Echtzeit, die sich auf verschiedene virtuelle Maschinen (EVM, SVM, Wasm usw.) beziehen.

  • Kann in verschiedenen Programmiersprachen geschrieben werden (z. B. Solidity, Rust usw.),

  • In einer gemeinsamen Zustandsausführungsumgebung.

Fluent unterstützt die atomare Zusammensetzbarkeit zwischen Anwendungen, die auf verschiedene virtuelle Maschinen abzielen, sowie „hybride“ Anwendungen, die aus intelligenten Verträgen bestehen, die zwischen ihnen gemischt und abgeglichen werden. Interaktionen zwischen den verschiedenen vom Netzwerk unterstützten Vertragstypen erfolgen im Hintergrund, sowohl atomar als auch in Echtzeit.


Fluent VM

Fluent VM ist eine minimal modifizierte Version des binären Befehlsformats WebAssembly (Wasm), das für überprüfbare Anwendungen entwickelt wurde. Es handelt sich um eine vereinfachte Version von Wasm, genannt rWasm, die mit dem ursprünglichen Wasm-Befehlssatz kompatibel bleibt, aber für Zero-Knowledge-Operationen (zk) optimiert ist. Ein Teil des Befehlssatzes ist in die Binärdatei eingebettet, wodurch die Überprüfungseffizienz und die Benutzerfreundlichkeit des Wasm-Programms in zk-rollup verbessert werden.

rWasm unterstützt mehrere VM-Ziele auf der Ausführungsebene. Seine Konto- und Statusstruktur wird durch einen dedizierten Systemvertrag verwaltet, der jede unterstützte VM repräsentiert. Abschließend werden diese VMs simuliert und zur Ausführung in rWasm kompiliert. Das Design ist erweiterbar, da im Laufe der Zeit Unterstützung für zusätzliche VMs hinzugefügt werden kann. Es stellt außerdem die atomare und synchrone Zusammensetzbarkeit zwischen Smart Contracts sicher, die mit den verschiedenen unterstützten VMs verknüpft sind.

Kompatibilitätsvertrag

Fluent VM umfasst bewährte Bibliotheks- oder Systemverträge, sogenannte Kompatibilitätsverträge. Diese Wasm-basierten Verträge definieren die EE-Standards für jede unterstützte VM und stellen APIs für den Zugriff auf diese Funktionen bereit. Sie fungieren effektiv als Middleware und ermöglichen es den Verträgen jeder unterstützten VM, sich gegenseitig anzurufen und Informationen abzurufen.

Der Kompatibilitätsvertrag ähnelt der Aurora-Implementierung von Near (jedoch optimiert für ZK-Operationen) und emuliert EVM-Transaktionen und -Blöcke. Für ZK-Proofs wird der Kompatibilitätsvertrag durch eine zusätzliche Bibliothek, Journaled ZK Trie (JZKT), unterstützt, die speicherintern ist und Proofs über Standard-Fluent-STFs hinweg effizienter macht.

JZKT ist dasselbe wie der Standard-ZK-Trie, hat jedoch einen großen Unterschied: Es ist reversibel. Dies stellt die Atomizität von Transaktionen über verschiedene Standards hinweg sicher. Wenn im Rahmen einer Multi-Operation-Transaktion eine Operation fehlschlägt, werden auch alle vorherigen Transaktionen wiederhergestellt. Darüber hinaus wird durch die Einbindung dieses Prozesses in eine einheitliche Bibliothek die Oberfläche jedes Standards in einen größeren Schaltkreis eingebunden, was den Nachweis erleichtert.



Fließendes L2-Netzwerk

Fluent L2 ist ein ZK-Rollup zum Ausführen von Wasm-, EVM- und SVM-Anwendungen an einem Ort. Es unterstützt die gemischte Ausführung verschiedener VM-Ziele in einer gemeinsamen Statusausführungsumgebung, um die Zusammensetzbarkeit zwischen Anwendungen aus verschiedenen Ökosystemen in Echtzeit zu ermöglichen. Das Netzwerk ist EVM- und SVM-kompatibel, behält die ABI-Kodierung für alle Verträge bei und verursacht keinen zusätzlichen Overhead für die Bereitstellung von Anwendungen in Solidity, Vyper oder Solana Rust.

Letztendlich werden alle VMs auf Fluent auf der Ausführungsebene simuliert und zur Ausführung in Fluent rWasm-VMs kompiliert. Jede VM wird durch einen Wasm-basierten Kernsystemvertrag (den „Kompatibilitätsvertrag“ der VM) repräsentiert, der ihre EE-Standards definiert und APIs für den Zugriff auf diese Funktionen bereitstellt. Während Fluent zunächst Wasm-, EVM- und SVM-basierte Verträge unterstützt, ist es so konzipiert, dass es erweiterbar ist, um andere VM-Integrationen zu unterstützen.

Anwendungsbereitstellungsmodell

Fluent L2 unterstützt zwei Arten von Anwendungen: gemeinsam genutzte und private.

  1. Bewerbung teilen:Hierbei handelt es sich um intelligente Vertragsanwendungen, die den Status in der Fluent-Ausführungsumgebung teilen. Beachten Sie, dass alle freigegebenen Anwendungen auf Fluent L2 in Echtzeit geschrieben werden, auch über verschiedene VM-Ziele und Programmiersprachen hinweg (wie Rust und Solidity).

  2. Spezialisierte Anwendungen: Bei diesen Anwendungen handelt es sich um anpassbare, eigenständige Zustandsmaschinen, die Fluent zur Beweisaggregation und -verifizierung nutzen. Entwickler können die souveräne Anwendungslaufzeit, Modularitätsschichten (z. B. DA, Sequenzierung) und mehr anpassen.



Fluentbase-Framework

Das Fluentbase-Framework wird verwendet, um intelligente Verträge auf Fluent L2 sowie Blockchain- und überprüfbare Computerumgebungen bereitzustellen, die in rWasm kompiliert sind. Es stellt ein SDK und ein Beweissystem für Fluent State Transition Functions (STFs) vor. Es ist die Grundlage von Fluent L2 und kann zum Aufbau von Folgendem verwendet werden:

  • Hybridanwendungen: Intelligente Verträge, die auf Fluent L2 unter Verwendung verschiedener vom Netzwerk unterstützter Programmiersprachen geschrieben wurden.

  • Hybrides Ausführungsnetzwerk: Ein Blockchain-basiertes Netzwerk (L2s, L3s usw.), das mehrere VM-Ziele auf einer gemeinsamen Ausführungsebene emuliert.

  • Beliebige Computerumgebung: Eine dedizierte Off-Chain-Computerumgebung mit beliebiger Logik.

Fluentbase unterstützt den integrierten Aufbau modularer Blockchains, einschließlich DA-Schichten (Celestia, Avail usw.), gemeinsam genutzter Sequenzer (Espresso, Nodekit) usw.

Gemeinschaft

Twitter @fluentxyz

Zwietracht https://discord.gg/fluentlabs