CESS Technology Monthly Report | Progress in June 2023
1. Important Submissions, Modifications, and Releases
Blockchain Network
The CESS Testnet v0.5.3 consists of consensus nodes and storage nodes. The consensus nodes maintain the global state of the CESS network (by CESS Node) and serve as "data certification stations" 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 progress updates for this month:
1. Consensus Nodes [v0.5.3]
Completed the development of a series of functions related to storage recovery orders, including order claiming and reporting by chain nodes.
Improved the file deletion function of chain nodes. When deleting files, it checks the exit status of storage nodes and updates the records of recovered space.
Optimized the node selection mechanism and boundary conditions for ending challenges when triggering random challenges in chain nodes.
Fixed the error that allowed authorized objects to create buckets multiple times in chain nodes.
Resolved the issue of handling user space and file errors after storage space expiration in chain nodes.
Fixed the problem where occasionally uploaded files were not recorded in the user's owned list during file uploads in chain nodes.
Optimized the random allocation algorithm for storage nodes during file uploads in chain nodes, enhancing the randomness of allocation results.
Fixed errors that occurred during the allocation of storage nodes and the unlocking of storage space processes in chain nodes.
Resolved the issue of file upload failures caused by duplicate fragments in chain nodes.
Fixed the problem of fragment sharing failures due to inaccurate file metadata in chain nodes.
Addressed the issue where orders could not be processed due to forced exits of storage nodes during the file upload process in chain nodes.
Removed the shared functionality of segments in chain nodes.
Fixed the overflow error during file deletion in chain nodes.
Resolved the issue where purchased space was not promptly refunded after expiration in chain nodes.
Added a file upload completion event in chain nodes for storage nodes to quickly confirm upload status.
Fixed the counting error of the deadline when generating order information in chain nodes.
Fixed the issue of response queue blockage caused by incomplete event listening functionality in TEE Worker’s p2p network.
Added functionality for new nodes joining the network to securely and anonymously obtain system keys in the key exchange network in TEE Worker.
Introduced a whitelist check for TLS communication networks in TEE Worker.
Added network bootstrapping and discovery functionality for the rotator module in TEE Worker.
Fixed several errors in the multi-node registration and authorization process in TEE Worker.
Resolved the issue where TEE Worker could not read local system keys after resetting the Docker container.
Fixed the problem of using the wrong key when handling CDTG requests in the rotator module of TEE Worker.
Addressed some defects in the APV and CDTG protocols in TEE Worker.
Optimized the aggregation proof verification process in TEE Worker, significantly reducing memory usage.
Completed the development of main functions such as configuration generation, environment detection, and installation for the nodeadm program.
2. Storage Nodes [v0.5.3]
Refactored and organized the CESS bucket, completing a detailed code review.
Fixed the issue where p2p nodes could not provide external IPs during testing of the CESS bucket.
Added file checksum and recovery functionality for the CESS bucket.
Resolved issues such as duplicate reporting of stored files and errors in replacing idle files in the CESS bucket.
Fixed problems with the CESS bucket not being able to find bootstrap nodes and authenticate space.
Addressed the issue where storage nodes that had previously allocated an order continued to report information after the storage order was reallocated in the CESS bucket.
Fixed the need to restart the program after updates to consensus nodes in the CESS bucket.
Added functionality to detect idle files and report missing idle files in the CESS bucket, with successful functionality testing completed.
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 rich and 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 offerings. Here are the progress updates for this month:
1. Object Storage Service (DeOSS)
Added boot options in the configuration file for the gateway module.
Optimized the processing flow for multiple users uploading the same file in the gateway module, supporting file storage tracking and automatic updates of multi-user file lists.
Updated the descriptions of the interface methods in the Go SDK.
Fixed several errors in the gateway module, including issues with querying user bucket lists, not being able to find file chunks after uploads, and errors when deleting buckets.
Added functionality for the gateway module to exit the CESS network.
Resolved the issue where examples in the Go SDK could not run.
Fixed the problem of not deleting padding data after downloading files in the gateway module.
Updated the data structure of file metadata in the gateway module, adding information about the actual file size.
2. Technical Solution Discussions
- Exploring Upgrades to Idle Space Certification Speed
This month, the team continued to explore upgrades to the certification speed of idle space in the network and completed the development and testing of a demo. We look forward to integrating this solution into the CESS network soon, providing users with faster and more reliable storage space augmentation services.
- Providing Professional Technical Guidance and Support to Teams Participating in the 2023 Polkadot Summer Hackathon
This month, the team provided professional technical guidance and support to teams participating in the 2023 Polkadot Summer Hackathon. We believe that hackathons are an excellent platform for promoting innovation and collaboration, and we look forward to exploring, learning, and solving problems together with the participating teams.
3. Technical Documentation Reference
GitHub: https://github.com/CESSProject