CESS Technology Monthly Report | Progress in December 2023
1. Important Submissions, Modifications, and Releases
Blockchain Network
The CESS Testnet v0.7.5 consists of consensus nodes and storage nodes. The consensus nodes maintain the world state of the CESS network (by CESS Node) and serve as the "data certification station" in the CESS network (by TEE Worker). The storage nodes are responsible for providing verifiable storage space and act as the "data storage pool" in the CESS network. Here are the updates for this month:
1. Consensus Node [v0.7.5]
Fixed the issue of requesting TEE for idle challenge verification and service certification errors;
Fixed the issue where CESS Node calculated user space incorrectly in the file instant upload feature;
Fixed the problem where the TEE Worker reverse proxy connection timeout caused the computation results to not be returned to the storage node in time;
Fixed the issue of signature verification failure for request parameters during idle space certification by TEE Worker;
Fixed the issue where the Kaleido program's subxt module could not adapt to the latest version of CESS Node;
Fixed the problem where some CESS Nodes could not confirm blocks, causing the testnet to fail to produce blocks normally;
Fixed the issue where TEE Worker could not register after the substrate framework upgrade of CESS Node;
Optimized the TEE Worker service file Tag calculation function, adding signatures for key algorithm parameters to prevent forgery;
Optimized the nodeadm program and improved the user account configuration and parsing functions of the config-gen module;
Completed data migration testing of CESS Node in complex environments, supporting seamless online upgrades of the storage network;
Updated the nodeadm program to support users in configuring TEE Worker domain names with one click;
Updated the key sharing mechanism of TEE Worker, allowing TEE Workers to share keys via blockchain;
Improved the registration rules of TEE Worker, distinguishing whether it is bound to a CESS Node based on whether a stash account is bound;
Split TEE Worker into multiple types based on service functions and supported consensus nodes binding multiple TEE Workers;
Added support for CESS Node to expand storage node capacity for dynamic management of declared storage capacity;
Upgraded the staking module of CESS Node storage nodes, supporting the separation of staking accounts, income accounts, and working accounts;
2. Storage Node [v0.7.8]
Fixed the issue of frequent requests to TEE from storage nodes;
Fixed the RPC error that occurred when storage nodes sent random challenge verification requests to TEE Worker;
Fixed the issue of mismatch between verification data and state data due to transaction on-chain failure during idle space certification by storage nodes;
Fixed the inconsistency of state data when idle space certification and service data replacement processes were executed concurrently;
Added version number checking function, stopping the program when the current version number of the storage node does not match the on-chain version;
Added exception handling for service file Tag calculation requests, pausing Tag calculation tasks under abnormal conditions;
Fixed the issue of excessive invalid transaction requests when storage nodes recover data;
Updated the relevant sections regarding the operation of storage nodes in the CESS documentation;
Added a storage node status detection module and related status query entry, allowing users to remotely monitor the working status of storage nodes;
Upgraded the communication method between storage nodes and TEE Workers, supporting grpc connections based on the https protocol;
Upgraded the file upload mechanism, adding reporting functionality after service file tag calculation is completed;
Optimized the code flow of storage node registration, idle space certification, and idle space replacement modules, improving node work efficiency and stability;
Optimized the random challenge process for service files of storage nodes, ensuring that service files that have not reported completed Tag calculations will not be challenged;
Optimized the Tag calculation process for service files of storage nodes, reducing the number of chain lookups and adding a repair mechanism for damaged files;
Improved the staking function of storage nodes, allowing the separation of staking accounts and working accounts;
Improved the configuration function of storage nodes, supporting user configuration of the preferred TEE Worker connection list;
Removed the ShareSwap mechanism during file recovery of storage nodes, reducing the number of connections between nodes;
Products
CESS is committed to providing practical storage services and CDN services for Web3, meeting large-scale commercial storage needs, and achieving millisecond-level data retrieval and return. CESS pioneered decentralized object storage services (DeOSS), and the product ecosystem of the CESS network is gradually becoming rich and prosperous. It has currently incubated innovative applications such as online file sharing tools (DeShare), public chain snapshot storage services, and CESS cloud storage. You are welcome to experience them. Here are the updates for this month:
1. Object Storage Service (DeOSS)
Upgraded the go-sdk and CESS chain interaction modules and various gRPC communication modules to be compatible with the latest version of the storage network;
Upgraded the DeOSS file upload process, supporting DeOSS to track whether all fragments of a file have completed tag calculation;
Upgraded the JS-sdk, fixing the initialization issue and adapting to the latest file upload and download functions;
Completed the optimization and upgrade of go-sdk, enhancing the sdk's support for various function requests of DeOSS;
Updated and improved the go-sdk user operation guide to enhance the developer experience;
Updated the go-sdk, upgraded the interface description documentation and error prompts, and removed unused old interfaces;
2. Online File Sharing Tool (DeShare)
- Upgraded DeShare to support user file uploads of up to 500 MB;
2. Technical Documentation Reference
GitHub: https://github.com/CESSProject