Sia: Decentralized Cloud Storage
Current cloud hosting platforms, although efficient, all share the same problem:
They are centralized. This exposes the uploaded files to all types of risk. They can be accessed, tampered with and lost. Furthermore, these platforms usually rely on a subscription model which means users often don’t get what they pay for. As usual, blockchain is here to help. There are a number of projects that are working on decentralized cloud storage solutions. One of them is Sia.
Sia is a decentralized cloud storage platform created to provide a competitive alternative to both traditional and P2P cloud hosting platforms. It allows users to store their files in a decentralized manner, giving users the chance to monetize their idle HDD space by becoming a host. While Sia provides a blockchain-based solution for storage contracts and payments, the files are not directly stored on the blockchain, and are instead stored by peers called hosts. The only thing that is stored on the Sia blockchain is the information from the transactions and storage contracts that are formed between the uploader and the host, defining the terms of their agreement.
When clients want to store a file, they can do so by creating a storage contract with the host. Both the client and storage provider must accept the terms before the contract is made valid. Hosts can choose to reject unfavorable terms or unwanted files. File contracts also specify a duration, challenge frequency, and payout parameters. Hosts must comply with these parameters in order to receive the full reward for hosting. These contracts allow both the client and the host to have a certain degree of flexibility. Hosts can announce themselves as minimally reliable, offering a low price and a agreeing to minimal penalties for losing files; or they can advertise themselves as highly reliable, offering a higher price and agreeing to harsher penalties for losing files.
These parameters include the reward for a valid proof, the reward for an invalid or missing proof, and the maximum number of proofs that can be missed. Proofs ensure clients that the host is still storing the file and are provided in the form of a segment of the original file and a list of hashes from the file’s Merkle tree. These proofs are made public and can be verified on the blockchain.
In every contract, the challenge frequency specifies how often a storage proof must be submitted, and creates discrete challenge windows during which a host must submit storage proofs. Submitting a valid proof during the challenge window triggers an automatic payment to the host. If no proof or an invalid proof is submitted, the payment will instead be destroyed. The contract will be deemed invalid if the number of maximum proofs that can be missed is exceeded.
If the contract is still valid at the end of the contract duration, it successfully terminates and any remaining coins are sent to the valid proof address. Conversely, if the contract funds are exhausted before the duration elapses, or if the maximum number of missed proofs is exceeded, the contract unsuccessfully terminates and any remaining coins are destroyed.
blockchain news