Hello World of Fluence, how Fluence run

运作原理
协议
Fluence 协议构建了计算资源的网络，并定义了无云栈以执行计算任务。

Fluence 网络概述

云无关函数，Aqua
Fluence 网络完全基于 Aqua 协议运行，提供无中心协调的安全分布式执行。Aqua 也是一种领域特定的脚本语言，编译为 π 演算操作，允许表达无死锁的分布式算法。Aqua 协议无需部署：Aqua 脚本被打包成数据包，按脚本编写的程序在网络上传播时执行。此外，Aqua 确保脚本执行的加密安全：所有请求及其逐步执行均由参与的节点签名，使得执行的脚本可审计和验证。

用 Aqua 编写的代码被称为云无关函数，因为它跨云、跨服务器、跨地域运行。云无关函数驱动客户应用程序和 Fluence 协议本身。服务发现、路由、负载均衡、子网启动和操作、扩展和容错算法都在 Aqua 上运行，并表现为云无关函数。

计算函数，Marine
在 Aqua 管理服务器和云之间的执行拓扑和流程的同时，Fluence 使用 Marine 在节点上运行计算任务，Marine 是一个 WebAssembly 运行时，允许多模块执行，结合接口类型和 WASI 进行效应器访问。

Marine 驱动计算函数，这些函数在单一机器内执行，类似于无服务器云函数。Marine 支持 Rust 和 C++ 作为源语言，随着 WebAssembly 标准的发展，将支持更多语言。

子网
网络中的所有计算函数都通过复制部署以确保容错：如果由于硬件故障或网络中断某个节点变得不可用。复制的部署称为子网。子网操作完全由开发人员通过云无关函数定制，因此开发人员可以启用故障转移、负载均衡、共识或任何其他自定义算法。

子网在 Fluence 上创建了高度可用的数据存储。可以用于热缓存或数据索引，而大量数据的存储则外包给外部存储网络，无论是集中式（如 S3）还是去中心化（如 Filecoin/Arweave）。

计算证明
Fluence 协议强制网络中所有执行生成加密证明。提供者为其计算生成证明，客户只需支付附有证明的已验证和正确的工作。

Aqua 安全性
当节点在 Fluence 中操作时，他们不断地服务于传入的云无关函数调用，这些调用需要进一步转发函数或在该节点上运行计算函数。对于每个传入的云无关函数，节点验证之前涉及节点的执行轨迹，以确保此流程的正确执行。由错误节点执行的云无关函数或被扰乱的拓扑将被丢弃。

如果云无关函数要求节点运行计算函数，节点完成工作，扩展执行轨迹，并按请求进一步转发请求。通过这种方式，协议确保了正确的操作，并为所有执行生成审计记录。

处理证明
协议在链上强制执行对 Aqua 执行的概率验证。由于所有计算都封装在 Aqua 中，这意味着平台上执行的所有操作都会在链上概率性地得到验证。提供者必须提交所需的执行才能获得奖励，否则将被削减。

执行证明
Fluence 上的特定代码执行的加密证明。每个函数执行都伴随着由 Fluence 的 Marine WebAssembly 运行时生成的这种证明。这些证明由参与后续执行的节点验证，并包含在处理证明中。

市场
链上市场将计算提供者与支付使用计算资源的客户匹配。市场完全无许可，因此任何提供者都可以参与并发布其可用容量。

市场托管在 Fluence 自己的链上，由 IPC 驱动，由 Fluence 计算提供者验证，并锚定到 Filecoin L1。自己的链允许廉价且快速的交易，以在任何规模上租用计算资源：从小负载到大规模。

计算提供者在 Fluence 市场上
计算提供者在 Fluence 市场上

计算提供者资源
计算提供者资源

容量证明
Fluence 通过强制执行一种称为容量证明的加密证明，确保提供者宣传的资源存在并可用。提供者将其硬件资源应用于不断生成容量证明，以确认这些资源已准备好为客户服务。协议按分配的计算能力奖励这些资源 Fluence 代币。

每当客户需要所选提供者的计算能力时，这些资源从生成证明切换到服务客户的应用程序。

提交容量证明的计算单元
提交容量证明的计算单元

资源定价
客户可以根据广告的价格和其他参数选择提供者，或者发布工作和所需的最高价格以便任何提供者拾取。

在幕后，对于每个应用程序部署，都会在链上创建一个客户与一组提供者之间的交易。交易记录财务细节（价格、预付款和提供者的所需抵押品）、与所需服务相关的技术要求（访问某些数据、二进制文件或 Web API），以及网络中代码安装的链接。

选择提供者的匹配标准
选择提供者的匹配标准

计费模式
最初，计费模式为预付费，基于资源租赁时间，以纪元为单位计算。最小资源租赁为一个计算单元，持续 2 个纪元，其中一个纪元定义为 1 天，一个计算单元为 1 个核心、4GB 内存、5GB 虚拟磁盘空间。客户需要为最小期预付款，以确保提供者获得工作报酬。

基于请求的计费模式和弹性计算单元将在项目的下一阶段引入。

网络
Fluence 网络可以被视为一组全球互联的节点，每个节点运行 AquaVM 和 Marine，能够接收命令以本地部署和执行代码，并根据接收到的云无关函数与其他节点协作。这些节点大多不断参与经济活动：他们监控并进入交易，形成新子网或调整子网参与，按照交易要求安装应用程序，协调执行并处理传入请求。他们还生成执行证明，并根据证明算法提交这些证明以获得奖励。