Learn how the Sia protocol is used to power redundant, decentralized, data storage.
Learn the basics with a visual infographic that explains how Sia works.
Learn about the ecosystem of storage services and tools powered by Sia.
Learn more about the non-profit foundation that maintains the Sia software.
Learn how Sia creates contracts between renters and hosts and securely stores data.
The Sia software divides files into dozens of shards, each destined for storage on a different host. This prevents any single host from holding your data hostage, and accelerates transfer speeds by connecting to multiple hosts simultaneously. File shards are created using a technology called Reed-Solomon erasure coding, commonly used in CDs and DVDs. Erasure coding adds redundancy to your files, such that (for example) any 10 of 30 shards can be used to recover the original data. This means that files on Sia can remain accessible even if 20 out of their 30 hosts are offline.
Before leaving a renter's computer, each file shard is encrypted with a different key. This ensures that, unlike traditional cloud storage providers, hosts on Sia cannot see your data. By default, Sia uses the Threefish algorithm, a high-performance block cipher.
Using the Sia blockchain, renters form file contracts with hosts. These contracts establish pricing, storage duration, and other aspects of the relationship between the renters and the hosts. File contracts are a type of smart contract. They allow us to create cryptographic service-level agreements (SLAs) that are secured by the Sia blockchain. Hosts that satisfy the terms of a contract are rewarded at the end of the contract period, while those who violate the terms are penalized.
Renters pay hosts in Siacoin, the native cryptocurrency of the Sia blockchain. Instead of transferring the entire payment up-front, storage is purchased in a rapid sequence of micropayments that flows alongside the data being transferred. This is accomplished using payment channels, the same technology used in Bitcoin's Lightning Network. Furthermore, most contracts require the host to lock up some of their own siacoins as collateral, giving them a strong incentive to stay online and fulfill the terms of the contract.
Renters prepay for storage within file contracts, setting aside a fixed amount of Siacoin to be spent on storing and transferring data. File contracts typically last 90 days. The renter software automatically renews contracts when they are within a certain window of expiring. If contracts are not renewed, any unused siacoins are returned to the renter. The renter software also detect when hosts go offline, and automatically migrates your data to new hosts.
At the end of a file contract, the host must prove that they are still storing the renter's data. They do this by broadcasting a storage proof transaction. If the storage proof appears on the blockchain within a certain timeframe, the host receives the contract payout. If not, the host receives nothing, and loses any collateral that they paid into the contract. Storage proofs are made possible by a cryptographic data structure called a Merkle tree. Merkle trees make it possible to prove that a piece of data is part of a larger file. Even better, these proofs are quite small, no matter how large the file is. This is important because the proofs are stored permanently on the blockchain.
Technical tutorials for new developers looking to build on Sia.