by Joe Ellis
Sia is a platform for decentralized cloud storage. By allowing the formation of storage contracts with peers, Sia permits its users to store data across a wide network of participants in a secure, private, reliable and fault-tolerant manner. Contracts define the conditions under which a storage provider keeps user data, and require the provider to periodically submit proof of storage to reassure the client that their data is in safe hands. These contracts are stored on the blockchain such that they are publicly auditable.
Sia is considered a Bitcoin derivative that includes specialized contract support. Sia’s settlement currency is aptly named Siacoin, and in the future a two-way peg will be implemented in order to financially connect the Bitcoin and Siacoin blockchains.
Sia aims to break into the cloud storage market. The team believe this multi-billion dollar endeavour can be facilitated through blockchain technology. Offering a cheap, reliable and highly redundant cloud storage solution may prove itself worthy of competing with extortionate storage providers at both the individual and enterprise level.
Sia’s primary objective is to introduce storage into the sharing economy. As the old adage goes, ‘unused memory is wasted memory;’ the team believes it is possible to liberate the unused storage of the world and unite it into a free market. Under this configuration, data is distributed across a vast network in a highly redundant manner.
This new paradigm for the cloud, where a decentralized network of ad-hoc data centers comprise a global storage solution, is extremely promising. Data remains secure through strong cryptography, storage is far more affordable, and any single point of failure is eliminated through a network of redundant nodes, ensuring the highest possible uptimes. Sia’s affordability and innovation engages competition with even the most venerable service providers.
Sia transactions are somewhat a simplification of Bitcoin’s. They strip away the pay to script mechanism, opting for the multisignature M-of-N scheme for all transactions, the motive being to reduce complexity and therefore attack surface.
Some extensions are made to the transaction format to allow for the enforcement of storage contracts, as detailed in the Sia whitepaper. Fundamentally, the concepts are similar to Bitcoin’s; outputs comprise some volume of coins, and inputs are used to reference coin origins.
Proof of Storage
File storage with Sia involves dividing files down into segments of constant size, then hashing them into a Merkle tree. The Merkle tree, along with the size of the file, is used to verify storage proofs.
Hosts prove that they have a file in their possession by reporting hashes from that file’s Merkle tree, along with a randomly selected segment of the file itself. The random number generator used to select which segment to send as proof is seeded by the hashed concatenation of the contract ID and the previous block header.
It is assumed that, if a host consistently produces valid proofs, they are storing the whole file. The mathematics here is simple — a ‘cheating’ node storing only 50 percent of a large file will fail to produce a storage proof in 50 percent of cases, meaning that it will take an average of 13 storage proofs until you can be 99.99 percent sure the node is dishonest. The more successful storage proofs, the more confident we are that the node is honest. Nodes are financially deterred from cheating the system because, as we will learn in the next section, if the contract terminates unsuccessfully the node loses its deposit.
Contracts are formed between storage providers (otherwise referred to as hosts) and clients. This contract defines the conditions for the storage of data — specifically, the regularity with which the host is required to submit a proof of their continued storage of client data. These proofs must be continually submitted until the contract expires. Contracts are facilitated through a blockchain similar to Bitcoin, but with a few modifications. Hosts are compensated for submitting correct proofs and penalized for incorrect or missing proofs. These proofs are publicly verifiable and present on the blockchain, so network consensus can automatically enforce these contracts. This is significant, since it means that clients do not need to verify their own proofs; the network can do it for them.
Contracts are supplied with some initial funding from both the renter and the host. The money supplied from the renter is to subsidize the host for storing their files, whereas the money supplied from the host is a deposit, that the host will be forced to forfeit if the contract does not complete successfully.
As well as specifying the frequency of proof submission, file contracts define a duration, valid proof reward, invalid proof penalty, and a maximum number of proofs that can be missed. If this number is exceeded, the contract is terminated. The contracts create ‘challenge windows,’ in which hosts are obliged to submit their proofs of storage. These challenge windows work like this; if the host is able to supply a valid proof in the allotted time, an automatic payment is triggered to their ‘valid proof’ address. If they submit an invalid or late proof, the payment instead directs funds to a provably unspendable address, where the coins cannot be recovered. This mechanism is in place to prevent denial of service attacks on Sia nodes.
Feasibility of Attacking the Network
Two attack vectors in particular are mentioned in the Sia whitepaper. These are the so-called “block withholding attacks” and “closed window attacks.”
The first of the two attacks, named “block withholding,” exploits the deterministic nature of random numbers on the blockchain. In short, since the execution of file contracts have to be deterministic, miners need to be able to reproduce random numbers with the same seed. Often, previous block header hashes are used as this seed. The idea with a block withholding attack is that an attacker could withhold blocks until they find one whose hash produces a favourable random number, allowing cheating nodes to produce valid proofs without having to store the entire file. This attack is unlikely, due to the fact that over 50 percent of the network needs to withhold blocks to manipulate 50 percent of the challenges.
Fundamentally, this kind of attack is financially unfavourable so they are uncommon in practice. Nevertheless, clients are able to avoid victimization in such a manner by specifying a high proof frequency in their storage contracts.
The second, and perhaps more formidable, attack against the network is the “closed window attack.” Consider the scenario where miners decide to maliciously exclude valid storage proofs, resulting in the unnecessary burning of funds. Additionally, where malicious miners dominate the network, it would be possible for them to charge inordinate transaction fees for proofs to be included in blocks. These attacks are called “closed window attacks,” since the window in which clients are required to submit a proof of storage is artificially closed by malicious actors.
This attack is remedied by using a large window size, giving hosts a longer time to have their proofs acknowledged. Hosts can reasonably assume that the majority of the network acts in good faith, and therefore given enough time somebody will include their valid proof in a block. Not only this, but ultimately hosts are free to reject and deny storage contracts as they see fit — if they believe a contract opens them to closed window attacks, they are free to reject it.
Economics of Siacoin
Sia’s settlement currency is Siacoin. Siacoin is an inflationary currency, where supply will increase permanently. Sia uses, and will continue to use, a proof of work scheme. Like Bitcoin, newly minted Siacoins are awarded exclusively to miners as an incentive to keep the network secure. The target block time is approximately 10 minutes, congruent with Bitcoin. The genesis block reward was 300,000 Siacoin, and the network is configured such that this reward decrements until the reward reaches its absolute minimum of 30,000 coins per block.
A post regarding the coin supply from Sia’s forum explains:
“By March of 2021, the inflation is about 3.4 percent. by March of 2026, the inflation will be about 2.9 percent. by March of 2036 it will be about 2.2 percent. In the long run, the inflation will be about 2 percent for long time. So in the long run, the inflation rate will probably be lower than the Sia network growth rate besides the lost coins.
In v1.2.x, Sia will implement a host Proof of Burn mechanism in which hosts have to burn certain siacoins to show that they are real and sincere for business to counter the sybil attack. When Sia network is getting mature, the estimate annual burned siacoins can be 0.1 to 0.5 percent of total available siacoins. The burned siacoins will offset the inflation in the long run. At some point, it could result in a deflation of siacoins.”
The coin supply and annual inflation over time are displayed below.
The authors of the Siacoin whitepaper warn of its volatility, with particular reference to its early adoption phase. The volatility in the coin’s value might result in more expensive storage contracts being formed, where hosts hedge against potential losses by increasing their pricing in response to price fluctuations. It is expected that this unpredictability will be tamed once Siacoin and Bitcoin are connected via a two-way peg.
There are two avenues through which somebody can contribute to the Sia network and earn coins. The first, and perhaps the most obvious, is to mine them. Mining coins keeps the network secure by validating transactions. The second method is to become a host. By renting out spare storage, you will be subsidized in Siacoin in accordance to the contracts you agree to.
Sia is developed by Nebulous Incorporated, a for-profit organization. The company have expressed their intent to make Sia their primary source of income, which concerns some members of the community. That said, the Sia platform is entirely open-source under the MIT license. The MIT license is renowned for being particularly lenient when it comes to forking and modifying the source code, so perhaps these concerns are unwarranted.
Siacoin and Siafunds
An important distinction between Siacoin and Siafunds needs to be made. Siacoin refers to the coin used, earned and mined by contributors to the Sia platform. On the other hand, Siafunds refers to a different premined coin. This coin represents a stake in the Sia platform as a business venture, rather than an internal currency used by the Sia network. Siafunds are how the Nebulous Corporation aim to generate revenue from Sia’s success as a platform.
Siafunds are used to generate profit proportional to the value of Sia as a platform. Specifically, this is done by imposing a contract creation fee of 4.9 percent. This fee is redistributed to Siafund holders. Siafunds are premined, where approximately 88 percent are held by Nebulous Corporation and the remaining 12 percent by early crowdfund backers of the project. Siafunds are a transferable asset, like Siacoin, but they cannot be used to finance storage contracts or miner fees.
In a sense, Siafunds encapsulate a quantity of Siacoin. When Siafunds are transferred from one address to another, a transaction output is generated which contains the number of Siacoin generated from that particular Siafund since its previous movement. So, Siafunds can be thought of as an entitlement to some growing quantity of Siacoin.
The Outlook for SC-BTC
The ticker for Siacoin is SC, and with most of the traded volume coming from the Bisq, Bittrex, Cryptopia, HitBTC, Poloniex, and Yunbi exchanges. The weekly price action is displayed below for SC-BTC on the Poloniex exchange. At the time of writing, SC-BTC traded very close to an important fractal support at 0.00000253, around 0.00000321. The most recent fractal resistance lies at 0.00000838, and given a fractal support just recently formed, we expect SC-BTC begin to trend toward this level. Stronger bullish confirmation will be given if there is a weekly close higher than the base line (red), which lies around 0.00000433.
Alternatively, a weekly close below the fractal support at 0.00000253 will point to a long-term bearish outlook for SC-BTC and we recommend to wait for a new floor to be established before committing to a long-term buy in this case.
Sia offers a scalable solution to cloud storage which introduces free memory into the sharing economy. By allowing its users to financially benefit from their spare computer memory, Sia offers unprecedented opportunities for the future of data storage. Blockchain technology has proven to be proliferating in industries where centralized solutions are withering under their deficiencies.
Sia has genuine potential to democratize cloud storage, similar to how BitTorrent liberated file sharing. With its high redundancy, infrangible privacy and financial incentivisation, Sia presents an new model for the safekeeping of information where the customer has complete control of their data.