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
- 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