Sia is a marketplace for data storage and transfer.
Sia connects those who have storage (hosts) and those who need it (clients). Clients compare offers from the hosts and pick the best one based on his capacity, price, and other factors. Once both client and host agree on conditions, they sign a file contract.
File contract is an agreement to store a file. It works similarly to smart contract: it is stored in blockchain and can be verified by all network participants. File contract has the information about file hash, how long it should be stored, and how often host should prove that he stores the file.
To prove the fact of storage, a host should regularly issue “Proof-of-Storage” transactions. This transaction contains contract ID and the proof itself. The proof is the segment of the file. This segment is randomly chosen based on the hash of the block that was mined prior to the proof. If the host consistently proving that he owns a random segment of the file, we can say that he stores the whole file with a high probability. The hash of each segment is stored on the blockchain, so anyone can make sure that the provided segment is correct.
If the host will regularly prove that he stores the file, he will get a reward defined by file contract, and the contract will be considered successfully terminated. If the host will fail to prove at least once, he will not receive reward and lose the collateral specified in the contract, and the termination will be unsuccessful.
Hosts can choose whether to accept a file contract or not based on price and collateral size. They can offer cheap storage with small penalties, or more expensive storage with big penalties.
Clients can use erasure codes to protect their data. This way, a file is split into segments, such that fraction of these segments can recover the whole file. These segments are then encrypted and sent to the hosts. If some of the hosts go offline, other hosts will still store enough segments to get the whole file.
A client can’t enforce hosts to be always online. However, if the client use erasure codes and store segments over multiple hosts, they compete with each other at providing the best service. To collect as many rewards as possible, hosts will try to provide the file instantly upon request. To achieve that, they should be always online.
Clients need a way to pick quality hosts. The obvious solution is to look at the history of storage, but the host can build a long history by storing fake files for himself. Alternatively, the host can lock some of his coins for a period of time. Big locks are hard to make, as they require lots of coins, so hosts with big timelocks will be more trustful.
Sia makes money by collecting 3.9% of each contract fund as a fee. These fees are distributed by all holders of siafunds. Majority of siafunds controlled by Nebulous Incorporated, company that develops Sia. Other siafunds are held by funders of Sia.
- May 1, 2014: Initial release on Bitcointalk. bitcointalk.org
- May 13, 2014: Announcement of crowd sale. 1250 SiaNotes were sold. In 2015 SiaNotes were redeemed by SiaFunds. bitcointalk.org
- October 17, 2014: First commit on Github. github.com
- May 14, 2015: Second release on Bitcointalk. bitcointalk.org
- June 7, 2015: Launch of the network. bitcointalk.org
- June 22, 2017: Nebulous Incorporated announced that they will produce ASICs for Sia. blog.sia.tech
- December 6, 2017: Hardfork to change the difficulty adjustment algorithm. The difficulty now adjusts each block to protect from rapid hashrate change caused by ASICs. twitter.com