CESS Technology Monthly Report | Progress in October 2023
1. Important Submissions, Modifications, and Releases
Blockchain Network
The CESS testnet has been updated to version v0.7.4, consisting of consensus nodes and storage nodes. Consensus nodes maintain the global state of the CESS network (by CESS Node) and serve as "data certification stations" (by TEE Worker) within the CESS network. Storage nodes are responsible for providing verifiable storage space, acting as the "data storage pool" in the CESS network. Here are the updates for this month:
1. Consensus Nodes [v0.7.4]
Adjusted the details of the token reward calculation and distribution mechanism for chain nodes, completing the corresponding code updates.
Modified the random challenge triggering logic for chain nodes, changing from a unified global trigger to a linear distributed trigger to alleviate network pressure.
Updated the method for submitting random challenge proof transactions and related transaction events for chain nodes, making it easier for storage nodes to call.
Completed testing after the framework upgrade for chain nodes, with all module test results normal.
Optimized the bucket deletion logic for chain nodes, prohibiting users from deleting non-empty buckets.
Fixed the circular reference issue in the sminer pallet and storage-handle pallet of chain nodes.
Optimized the selection strategy for storage nodes during random challenges, avoiding challenges to nodes with zero storage power.
Fixed the issue of incorrect calculation of space capacity parameters when triggering random challenges on chain nodes.
Completed the organization of code related to the economic model, creating a new pallet for managing tokens in the treasury.
Implemented the treasury transfer function and token burning (destruction) function for chain nodes.
Fixed security risk issues in TEE Worker SGX remote reports according to Intel's official guidelines.
Completed code optimization for the MHT path proof algorithm verification process in the TEE Worker space proof module.
Fixed the issue where idle space could not be certified due to memory overload in the TEE Worker.
Fixed the compilation failure of on-chain data structures recorded in the TEE Worker due to the chain framework upgrade.
Fixed permission errors when reading files in the TEE Worker.
Optimized the network architecture of the TEE Worker, using a unified account to determine the identity information of the TEE Worker.
2. Storage Nodes [v0.7.2]
Completed the update of the method and event list for submitting random challenge proof transactions for storage nodes.
Optimized the parsing method for random challenge-related events in storage nodes, allowing for more accurate judgment of proof verification results.
Completed the coding and testing of the optimization algorithm for MHT path proof in idle space proof, which can effectively improve proof generation speed.
Fixed the issue where the idle space certification process was blocked due to unupdated status during concurrent execution of idle file replacement processes in storage nodes.
Fixed the issue where certification requests were rejected due to inconsistency with on-chain status in the idle space certification process of storage nodes.
Fixed the issue where some machines could not detect the public IP in storage nodes.
Fixed the issue of accumulator verification errors during idle space certification in storage nodes.
Fixed the issue where storage nodes could not properly parse the response data returned from the chain.
Added functionality to parse file storage completion events and order declaration events for specific blocks.
Fixed the issue of space certification failure due to inconsistent status synchronization after the upgrade of the idle space certification process.
Completed the code implementation of the manual recovery module for idle space proof, used for storage nodes to repair unexpectedly damaged idle files and proof files.
Implemented an active status synchronization mechanism during the idle space certification process of storage nodes to prevent status inconsistency issues caused by network timeouts.
Completed testing of block proof aggregation operations and verification in the idle space random challenge process to reduce the number of interactions during the challenge.
Products
CESS aims to provide practical storage services for Web3, creating a new generation of object storage services (DeOSS). The product ecosystem of the CESS network is gradually becoming richer and more prosperous, having incubated innovative applications such as online file sharing tools (DeShare), public chain snapshot storage services, and CESS cloud storage. We welcome you to experience these. Here are the updates for this month:
1. Object Storage Service (DeOSS)
Implemented user data encryption and decryption functionality in the Rust SDK, ensuring compatibility with the same functionality in the Go SDK and JS SDK.
Updated the DeOSS gateway registration function, allowing the provision of a public access address on-chain during registration.
Updated the bitswap data exchange functionality based on libp2p to enhance data exchange efficiency.
Updated some operational instructions in the user manual.
Completed updates to the data structures related to random challenges in the Go SDK to adapt to the new random challenge mechanism.
Tested the user data encryption and decryption functionality in the Rust SDK, fixing the issue of decryption failure.
Improved the caching functionality for DeOSS user file metadata, supporting user queries for this data and restoring it to the chain.
Investigated the reasons for data size limitations during data transmission in the bitswap mechanism and updated some related code configurations.
2. Technical Proposal Discussions
Proposed "File Upload Process Upgrade Proposal" Technical Plan This month, the technical team proposed the "File Upload Process Upgrade Proposal" technical plan to enhance the file upload speed of CESS. This plan has been discussed and confirmed by the community and will be implemented in subsequent versions.
Plan link: https://github.com/CESSProject/CIPs/blob/main/CIP-7.md
Proposed "Optimization Proposal for Proof Generation and Verification Process of PoIS" Technical Plan This month, the technical team proposed the "Optimization Proposal for Proof Generation and Verification Process of PoIS" technical plan to address the inefficiencies in the random challenge proof generation and verification process of the current version of idle space proof (PoIS). This plan has been discussed and confirmed by the community and is now implemented in v0.7.4.
Plan link: https://github.com/CESSProject/CIPs/blob/main/CIP-8.md
3. Technical Documentation Reference
GitHub: https://github.com/CESSProject