Cooperative storage cloud

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A cooperative storage cloud is a decentralized model of networked online storage where data is stored on multiple computers (nodes), hosted by the participants cooperating in the cloud. The total storage contributed in aggregate must be equal to the amount consumed for the viability of the co-operative. However, some nodes may contribute less and some may contribute more. There may be reward models to compensate the nodes contributing more.

Unlike a traditional storage cloud, a cooperative does not employ dedicated servers for the actual storage of the data, thereby eliminating the need for a significant dedicated hardware investment. Each node in the cooperative runs specialized software which communicates with a centralized control and orchestration server, thereby allowing the node to both consume and contribute storage space to the cloud. The centralized control and orchestration server requires several orders of magnitude less resources (storage, compute and bandwidth) to operate relative to the overall capacity of the cooperative.

Data security[edit]

Files hosted in the cloud are fragmented and encrypted before leaving the local machine. They are then distributed randomly using a load balancing and geo-distribution algorithm to other nodes in the cooperative.[1] Users can add an additional layer of security and reduce storage space by compressing and encrypting files before they are copied to the cloud.

Symform generates and keeps the keys used to encrypt/decrypt, and since it also decides which server will host which piece you have to trust Symform not to share those with any other party or misuse it.[2]

Data redundancy[edit]

In order to maintain data integrity and high availability across a relatively unreliable set of computers over a wide area network like the Internet, the source node will add some level of redundancy to each data block.[3] This allows the system to recreate the entire block even if some nodes are temporarily unavailable (due to loss of network connectivity, the machine being powered off or a hardware failure). The most storage and bandwidth efficient forms of redundancy use erasure coding techniques like Reed-Solomon. A simple, less CPU intensive but more expensive form of redundancy is duplicate copies.

Flexible contribution[edit]

Due to bandwidth or hardware constraints some nodes may not be able to contribute as much space as they consume in the cloud. On the other hand, nodes with large storage space and limited or no bandwidth constraints may contribute more than they consume, thereby the cooperative can always stay in balance.


One example of a cooperative storage cloud is operated by Symform, Inc., a venture-funded startup based in Seattle, WA.[3] Non-commercial examples include the University of California's OceanStore project, MIT's Chord.[3]

Another example is Storj. Storj is based on the Bitcoin blockchain technology and peer-to-peer protocols to provide cloud storage to people. It is currently developing two applications to achieve this goal: Metadisk,[4] an application that aids the user in uploading files to the network, and DriveShare, an application that allows users to rent out computer storage space to the Storj network. [5]

See also[edit]