协议
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,能够接收部署和在本地执行代码的命令,并按照接收的无云函数与其他节点协作。大多数节点不断参与经济活动:监控和参与交易,形成新子网或调整参与子网,按照交易指定安装应用程序,协调执行并服务传入请求。它们还生成执行证明,并按照证明算法提交以获得奖励。