SSP is the core of SCDS middle platform layer procedures, provide various SDK supply with call in form, provide all kinds of storage service for the upper application, including vital encryption to deduplication technology, decentralized static persistent storage, cache service, storage management and across chain scheduling management functions, such as include account management, key management and data security mechanism.



Owing to the current demand for heterogeneous storage structures, including traditional storage systems and blockchain storage systems, SSP needs to provide SDK interfaces for various storage systems. For example, we will collect IPFS and provide the following interface layer services.











I: Mount as a mounted global file system under /SCDS and /ipns



II:As a mounted personal synchronization folder, automatically versioning, publishing, and backing up any writes. That is to say, the personal computer appeared C, E, SCDS will appear



III .Act as an encrypted file or data sharing system



Ⅳ:Act as the version package manager for all software

Ⅴ:As the root file system of the virtual machine.


Ⅵ:Boot file system as VM (under hypervisor)


Ⅶ:Act as a database: the application can write the data directly into the Merkle DAG data model, getting all the versions, buffers, and allocations provided by IPFS.



Ⅷ: A linked (and encrypted) communication platform.


Ⅸ:A CDN that checks the integrity of large files(without using SSL




Ⅹ:An encrypted CDN

In the overall design framework, we will also implement the traditional cloud storage management support by SCDS SSP protocol.




With the development of cloud computing, cloud storage is increasingly favored and supported by many blockchain manufacturers.

On the one hand, cloud storage can provide massive, secure and low-cost cloud storage services, providing 99.9999999999% of the data reliability.

On the other hand, cloud storage generally USES RESTful API, whice can be stored and accessed anywhere on the Internet, capacity and processing capacity elastic expansion, a variety of storage types for selection to comprehensively optimize storage cost.




In order to facilitate the maintenance of stored data by the maintainer of SCDS node, SCDS provides storage services based on cloud computing.

Users can according to the amount and scale of the storage size flexibly to reduce the maintenance cost and difficulty of operation and maintenance, and also ensure the security and stability of data storage.

In current blockchain storage, while pursuing high security, the most basic needs of reliability are often ignored. Many of them only pursue high encryption without considering actual application scenarios. Due to low efficiency, there is no practicability in the end.



SCDS USES multi-pole optional privacy protection technology, and storage applications can choose appropriate privacy technologies, such as encryption and deduplication technology combination, zero-knowledge verification combination, true randomness and so on.

Compression encryption and deduplication.


For avoiding mass data, SCDS will preprocess, format and compress the data.

In SCDS compression technology, including lossy compression and lossless compression two ways, lossless compression algorithm is mainly used to compress pictures, audio and video, lossless compression is used to fully restore the original data

In terms of compression algorithm, SCDS supports Huffman encoding and column storage.


Convergent encryption deduplication technique

The essence of compression algorithm is to find duplicate data. Duplication of data is inevitable and a concern for any storage system.



In traditional storage networks, such as cloud disk, CDN and even IPFS, the deduplication technology of plaintext files is quite mature. It is only necessary to compare the fingerprint information of two files to determine whether the contents are the same.



However, in the application of encryption and storage, the above method has failed. The ciphertext contents generated by two identical files encrypted with different public keys are not the same, so it is not possible to simply realize fingerprint information deduplication based on ciphertext. At the same time, sharding storage of data also makes deduplication more complicated.


Zero-knowledge data encryption and data deduplication both play a decisive role in storage. But in the industry there is a "common sense" : data encryption can not be deduplicated.

That is, zero knowledge data encryption and data to re-can not be both, at most can only choose one.




SCDS adopts convergent encryption algorithm to deal with deduplication. Based on dynamic Bloom filter, an improved security de-duplication scheme without the trusted third party to check the consistency of ciphertext and tag of data blocks to prevent data pollution attack.




Bloom filter is an efficient probabilistic data structure, which is used to determine whether an element belongs to a specific set. It is usually composed of 1 binary vector and k independent hash functions.




Let Bloom filter have a binary vector of m bits and initialize all bits to be 0.


There are n elements in the set, and each element calculates k hash functions {H1, H2... , Hk} maps to {1, 2,... , m}.


When the element x is inserted, the mapping position Hi(x) of k hash functions is set to 1.




Experimental environment: amd1.8ghz quad-core e2-7110, 8GB memory, Windows 10 system, programming language is Python, convergence key generation algorithm adopts sha-256, and other hash functions adopt sha-1.



The files of 64MB, 128MB, 256MB, 512MB and 1GB were respectively partitioned, and each data block was 4KB. When PoW protocol was run, the value of data block J was challenged to be 5% of the total number of data blocks, and the number of hash functions k in Bloom Filter was set as 4.






At present, convergent encryption algorithm has been applied in the cloud-sea storage DAPP product.