Fluence工作原理

协议
DecentraCompute 协议形成了计算资源网络，并定义了无云堆栈以执行计算任务。

DecentraCompute 网络概述
DecentraCompute 网络概述

无云函数，Aqua
DecentraCompute 网络完全运行在 Aqua 协议上，提供了安全的分布式执行，无需集中协调。Aqua 名称也用于一种特定领域的脚本语言，该语言编译成 pi 演算操作，允许表达无死锁的分布式算法。Aqua 协议无需部署：Aqua 脚本打包成数据包，按脚本编程的方式在网络上执行。此外，Aqua 保证脚本执行的加密安全：所有请求及其逐步执行都由参与的节点签名，使得已执行的脚本可审计和可验证。

使用 Aqua 创建的代码我们称之为无云函数，因为它跨云、跨服务器和跨地域运行。无云函数为客户应用程序和 DecentraCompute 协议本身提供动力。服务发现、路由、负载均衡、子网启动和操作、扩展和容错算法都是通过 Aqua 运行并作为无云函数表达。

计算函数，Marine
当 Aqua 操作服务器和云上的执行拓扑和流程时，DecentraCompute 使用 Marine 运行时在节点上运行计算，它是一个 WebAssembly 运行时，允许多模块执行，结合接口类型和 WASI 以访问效应器。

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

子网
网络中的所有计算函数都通过复制部署以确保容错：在节点因硬件故障或网络中断而不可用的情况下。复制部署称为子网。子网操作通过无云函数由开发者完全自定义，因此开发者可以启用故障切换、负载均衡、共识或任何其他自定义算法。

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

计算证明
DecentraCompute 协议强制对网络中的所有执行生成加密证明。提供者为他们的计算生成证明，客户仅为附有证明的工作支付费用，以确保工作经过验证且正确。

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

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

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

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

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

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

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

容量证明
DecentraCompute 通过强制执行称为容量证明的加密证明，确保提供者广告的资源存在并可用。提供者将其硬件资源用于不断生成容量证明，以确认这些资源已准备好为客户服务。协议根据分配的功率奖励这些资源 DecentraCompute 代币。

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

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

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

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

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

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

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