運作原理
協議
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,能夠接收命令以本地部署和執行代碼,並根據接收到的雲無關函數與其他節點協作。這些節點大多不斷參與經濟活動:他們監控並進入交易,形成新子網或調整子網參與,按照交易要求安裝應用程序,協調執行並處理傳入請求。他們還生成執行證明,並根據證明算法提交這些證明以獲得獎勵。