CESS 技術月報 | 2023 年 8 月進展
一、重要遞交、修改、發布
區塊鏈網絡
CESS 測試網 v0.6.0 版本由共識節點和存儲節點組成。共識節點維護 CESS 網絡的世界態(by CESS Node),同時是 CESS 網絡中的"數據認證站"( by TEE Worker)。存儲節點負責提供可驗證的存儲空間,是 CESS 網絡中的"數據存儲池"。以下是本月進展:
1. 共識節點 [v0.6.0]
調整了鏈節點的挑戰證明驗證結果提交 SGX 簽名的接口參數
更新了鏈節點的空間證明模塊簽名驗證流程中相關結構體的字段信息
優化了鏈節點的 Sminer、Audit 和 FileBank pallet,以及一些數據結構的定義,精簡了代碼結構
新增了鏈節點的取消授權獨占功能,支持 DeOSS 用戶同一時刻能授權多個 Gateway
對鏈節點的代碼進行邊界溢出檢查,優化了一些計算邏輯以防止溢出或越界錯誤
修復了鏈節點的驗證清算流程中重分配次數未達上限時的處理邏輯錯誤
優化了鏈節點的挑戰驗證生存期時間計算問題和存儲節點強制退出流程
為鏈節點添加 rust-toolchain.toml 文件,用於指定工具鏈版本以及相關組件
修復了鏈節點在處理 DeOSS 授權流程時未過濾相同賬戶地址的問題
修復了鏈節點的隨機挑戰驗證結果未有效清除而影響下一輪挑戰的問題
新增了 TEE Worker 的服役數據過濾功能,進一步提升了存儲證明算法模塊的安全性
升級了 TEE Worker 的 p2p 模塊,與 gRPC 相結合,實現了簡潔高效的遠程服務調用功能
升級了 TEE Worker 的閒置空間認證流程,將認證結果轉由存儲節點提交上鏈,簡化了工作流程
完成了 TEE Worker 的服役文件 tag 計算和存儲證明批量驗證功能的更新和調試
修復了 TEE Worker 在批量驗證存儲證明時因存儲節點提交空數據而出錯的問題
修復了 TEE Worker 密鑰分享網絡中出現的分享密鑰不一致的問題
優化了 TEE Worker 鏈上註冊流程,新增對共享密鑰的校驗,提升密鑰共享的安全性
優化了 TEE Worker 對共享密鑰的封裝方式和處理邏輯,降低密鑰被洩露的風險
完成對 TEE Worker 單節點的壓力測試,修復了因請求數量過多導致的 gRPC 請求出錯的問題
完成了 nodeadm 程序的更新,以支持共識節點與存儲節點的一些新特性
修復了 nodeadm 程序在測試時發現的缺少用戶提示和安裝 yq 程序失敗等問題
修復了 nodeadm 程序切換節點模式時出現的容器名衝突問題
2. 存儲節點 [v0.6.0]
基於 p2p 庫實現了存儲節點閒置空間證明算法模塊與 TEE Worker 的交互功能
完成閒置空間認證流程的測試,修復了認證失敗、簽名驗證失敗等一系列問題
完成了存儲節點服役文件聚合證明計算功能的開發和調試工作
修復當存儲節點崩潰重啟時閒置空間證明模塊狀態恢復失敗的問題
優化了存儲節點閒置空間證明模塊隨機挑戰狀態恢復機制
將存儲節點與 TEE Worker 的連接方式由 gRPC 直連升級為基於 libp2p 的 gRPC 連接
優化閒置文件認證流程中存儲節點查找 TEE Worker 的方式,從固定配置升級為動態查找
修復存儲節點 Dockerfile 構建失敗和 entrypoint 命令配置不準確的問題
完成基於 libp2p gRPC 連接的閒置文件認證、隨機挑戰與替換流程的測試
優化存儲節點隨機挑戰流程,將閒置文件與服役文件的挑戰流程並發執行來提高效率
優化存儲節點閒置空間證明模塊故障恢復和隨機挑戰狀態設置功能,提升了執行速度
修復閒置空間證明模塊設置空間大小上限失效的問題
修復服役文件隨機挑戰過程中因刪除部分文件後未及時判斷狀態導致挑戰失敗的問題
修復因閒置空間證明隨機挑戰狀態設置有誤導致挑戰證明驗證失敗的問題
修復因未存儲不同用戶文件下相同 fragment 數據而導致無法通過隨機挑戰驗證的問題
產品
CESS 以向 Web3 提供可落地的存儲服務為使命,打造新一代對象存儲服務(DeOSS)。當前 CESS 網絡的產品生態逐漸豐富與繁榮,已孵化出在線文件分享工具(DeShare)、公鏈快照存儲服務、CESS 網盤等創新應用,歡迎前去體驗。以下是本月進展:
1. 對象存儲服務(DeOSS)
優化網關的文件上傳失敗的重連接機制,並將一直連接失敗的節點加入黑名單
修復網關的文件上傳時超出 100M 限制後上傳失敗的問題
重構 Go SDK 部分代碼,將文件上傳與存儲、文件檢索與下載功能進行聚合,簡化了流程
修復 Go SDK 中部分字段名稱不規範、簽名方法錯誤提示不明確、文件處理流程被異常阻塞等問題
為 Go SDK 新增了存儲對象和檢索對象的相關方法
修復了網關的硬編碼固定循環導致的索引越界錯誤
修復了網關第一次運行時由於工作目錄不存在而導致的死機錯誤
優化 Go SDK,新增空間是否授權和 bucket 是否已創建的判斷流程
為 Go SDK 新增具體交易事件的字段解析功能,使其具備更精確的交易狀態判斷能力
2. 在線文件分享工具(DeShare)
- 升級了文件緩存功能,與 DeOSS 共用一套緩存機制,並發布 v0.2.1 版本
- 更新文件上傳邏輯,將文件統一上傳到公共網關
二、技術方案討論
- 技術團隊向 Web3 Gaming Hackathon 2023 的參賽隊伍提供技術指導
本月技術團隊向 Web3 Gaming Hackathon 2023 的參賽隊伍提供專業的技術指導,並作為裁判給予若干項目有價值的建議。我們相信黑客松活動是一個促進創新和協作的絕佳平台,我們期待與參賽隊伍共同探索、學習和解決問題。
三、技術文檔資料參考
GitHub: https://github.com/CESSProjectWiKi: https://github.com/CESSProject/cess/wikiCIPs: https://github.com/CESSProject/CIPs