Highest Rated Comments


sia_nemo5 karma

Don't trust us, trust the code! Sia is 100% open source.

In a way, this is better than trusting a company like Google or Microsoft with your data. They are storing all of your personal information unencrypted, and they're a single point of failure. If Google decides that you violated their terms of service (which has happened to many innocent people in the past), they can lock you out of your account with no warning. That sort of scenario can never happen on Sia.

sia_nemo3 karma

Sia: Weeb tested, NEET approved.

sia_nemo2 karma

You make an interesting point. The primary innovation of Sia is to remove trust from the equation, and that comes with some tradeoffs. When you are storing your data across dozens of untrusted nodes, you have to handle the redundancy yourself. However, there is nothing stopping you from uploading to a single host if you trust them 100% to maintain the durability of your data. But there are also tradeoffs to that approach; specifically, if your data only resides in one datacenter, you can't download it in parallel, and the latency is a function of your distance from that one datacenter. Splitting the data across multiple hosts allows for parallel uploads and downloads and evens out latency numbers, much like a CDN.

One of the things we value about Sia is that it makes pricing very transparent. You pay for exactly what you use, including both storage costs and bandwidth costs. There are no pricing tiers, and you are never "locked-in" to using a particular host. Our vision is a competitive marketplace for storage, where hosts compete purely on what matters: availability, latency, bandwidth, price.

sia_nemo2 karma

Phew, lots of good questions.

Only the uploader holds the decryption keys. You can choose to make them public if you want (e.g. file sharing) but by default, only you can access your files. The data is accessed via its Merkle hash, which is also how the host proves that it is storing the data. And since it's a content hash, it also serves as a checksum. If the data is corrupted on the host, its Merkle hash will be incorrect, so you can simply reject it and download from a different host. (Ideally, you'd also penalize the host for not providing correct data.)

Distribution is also handled client-side. The "outdated version" issue is certainly tricky, and I admit we haven't fully explored it yet -- currently Sia has less emphasis on file sharing and more emphasis on personal backups. It's definitely a priority for us though. One answer is to make your data append-only; then your friend will still be able to download the old version while you're uploading the new version. And you can synchronize with your friend by giving them the updated version of the file metadata.

Losing a single host is not a big deal. Under the default redundancy settings, you can lose up to 75% of your hosts and still retrieve your data. (We're keeping it conservative for now, while the network is young.) However, if you lose too many hosts, Sia will automatically form replacement contracts with new hosts and replicate your data to them. Thus, only a truly catastrophic event (losing >75% of hosts within a short timeframe) puts your data at risk.

sia_nemo2 karma

Nope, that isn't the secret :)

A price reward is an interesting idea. Currently we rely on the local host database to weight hosts according to various factors. For example, a host with 90% uptime should be weighted much higher than a host with 70% uptime. Higher weight == higher probability that the renter will form a contract with that host. So there is already a soft guarantee that higher uptime results in more profits. And of course, more uptime means the host is more likely to be online when an upload/download is requested; otherwise they miss out on that revenue.