Simplifying the Sia Whitepaper

Here we’ll quickly breakdown what Sia is and the system’s consensus protocol, potential vulnerabilities, and projected future state — all straight from the whitepaper in a way we call can understand!

Here’s my annotated version of the white paper with notes for your reference!

What is Sia?

Sia, a platform for decentralized storage owned by a for-profit company called Nebulous Incorporated. Sia enables the formation of storage contracts between peers. Contracts are agreements between a storage provider and their client, defining what data will be stored and at what price.

Nebulous Incorporated’s revenue model with Sia work as follows:

Nebulous intends to generate revenue from Sia in a manner proportional to the value added by Sia, as determined by the value of the contracts set up between clients and hosts. This is accomplished by imposing a fee on all contracts. When a contract is created, 3.9% of the contract fund is removed and distributed to the holders of siafunds. Nebulous Inc. will initially hold approx. 88% of the siafunds, and the early crowd-fund backers of Sia will hold the rest.

  • Primary Takeaway: Sia tokens ARE NOT Siafunds

Sia Consensus Protocol

Sia is a variant on the Bitcoin protocol that enables decentralized file storage via cryptographic contracts. Sia’s primary departure from Bitcoin lies in its transactions and the way that it extends Bitcoin’s protocol:

  • Sia opts instead to use an M–of–N multi-signature scheme for all transactions, eschewing the scripting system entirely.
  • Three extensions are used to accomplish this: contracts, proofs, and contract updates

Here are some other core elements of the Sia Consensus Protocol:

  • Contracts are stored in a blockchain, making them publicly auditable.
  • Hosts provide proofs of storage over pre-specified time interval
  • Contracts define a maximum number of proofs that can be missed; if this number is exceeded, the contract becomes invalid.
  • Hosts prove their storage by providing a segment of the original file and a list of hashes from the file’s Merkle tree.
  • The protocol supports data redundancy (replication) but seems to not have a proof of replication
  • A transaction contains the following fields:
  • All contracts are associated with Spend Conditions, properties that must be met before coins are “unlocked” and can be spent. The spend conditions are hashed into a Merkle tree, using the time lock, the number of signatures required, and the public keys as leaves.
  • Attributes of transactions can be signed for (locking attributes) and whole transaction must be signed for

Potential Vulnerabilities

  • Clients are expected to configure for data security (configure their challenge frequency for proofs, data redundancy, etc.). This makes it harder for newcomers to safely store data
  • Miners could maliciously exclude storage proofs from blocks, depriving themselves of transaction fees but forcing a penalty on hosts
  • The time lock and number of signatures have low entropy, making their hashes vulnerable to brute-forcing
  • The primary currency of Sia is the siacoin. The supply of siacoins will increase permanently, and all fresh supply will be given to miners as a block subisdy — so Sia is not creating artificial scarcity with their token, meaning its value (from an investment standpoint) is extremely limited