banner
0xjokereven

0xjokereven

All is for consistent
twitter
github
pixiv
jike
medium

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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。