How Sia Works.
Thx for the details, got two questions here:
Any decay logic when calculating the burnt coin for selecting the hosts? Other wise the latter joiners may be treated unfairly.
Any throughput downgrade because of encryption upload and decryption download?
Hi, thanks for the questions.
What kind of skills or resources do you guys need most right now to make Sia next level?
This is a question that really deserves its own thread, and maybe even its own board. I hope to answer this question in much greater depth in the coming week or two. At a high level, Sia need more testing, it needs lower resource consumption, but most importantly I think it just needs more testing and review. The best place to start is to look at the docstrings for all the packages and find something that looks interesting to you. Then start reading the code, and make comments/posts/messages on things you find interesting. Ask questions! If a docstring isn't helpful enough, bug us until we write a better one. If some code looks funky and you know a better way to write it, make a pull request!
The one caveat is consensus-critical code (mostly meaning the encoding package, and the consensus package). Those really can't be touched because it would introduce consensus risk.
Something I haven't understood is that how this technology promote the lower cost?
Sia creates an open marketplace for cloud storage, one where the only rules that matter are how efficient and how good your storage capabilities are. If you can offer better storage at a lower price, people will choose you and not your competitors. You will have more income, and your competitors will go out of business. This competition is always active, and always brutal, meaning innovation is very strongly supported and prices will constantly be driven into the ground.
Additionally, Sia's early life will be composed largely of leftover drives or recycled drives from other uses. These drives can be offered at much lower prices because there's very little cost to using them (the most expensive part of a drive is buying it, not maintaining it or powering it). In the long term though, it's the fact that people will be able to make money purely by having the best drives, and not by needing to build up a reputation or do any marketing.
In the beginning, I don't think there will be decay logic. But I think it would make sense to have burn start decaying after 6 or 12 months. New hosts will be required to do some early-burn (or offer storage for virtually free, or some hybrid combination), because that's how we protect against Sybil attacks.
Any throughput downgrade because of encryption upload and decryption download?
The encryption libraries that we use are very, very fast. The encoding and encryption combined should be running faster than 100mbps, so unless your upload speeds and download speeds are above that, you won't notice any performance hits. If they are above that, you may notice that you can't saturate because you are CPU-bottlenecked. I think there is room to add parallelism (the libraries may already be parallelized?), so industry-grade needs can compensate by using servers with more cores.
The encoding and encryption combined should be running faster than 100mbps, so unless your upload speeds and download speeds are above that, you won't notice any performance hits.
Already some home-level connections reach 1Gbps speeds. I doubt those speeds are attained in practice in most circumstances, but with something like Sia where you are typically downloading from multiple peers at the same time, they could theoretically be... so perhaps this limitation could quickly go from theoretical to practical. Just a potential issue to consider.
Thanks for this. I have a few questions.
The renter and the host both put money into the file contract at the beginning
Does this mean that in order to be a host, you need to have Siacoin first?
I was trying out Sia UI yesterday, left it running for half a day with 0 Siacoins but I think I got 3 contracts. Why is that?
How often does a host get paid?
If a host is also required to lock in a collateral, and assuming a host is getting new contracts all the time, if a host one day decides to leave, how would the host then leave without losing its collaterals?
How do I find out more about the contracts that I receive? I got 3, but how do I know the price and duration of the contracts I got?
Sia is still in beta, as such things on the network are pretty slow. The most important bottleneck today is that uploads are very slow, and tend to lock up a ton of coins. As such, almost nobody uploads to the network (though you can if you are willing to wait a day or so per GB, and if you are willing to overpay by about 100x).
Today, you do not need money to be a host, however that will change soon after we release the 1.0 product. Hosts will be much more successful if they allocate money to put up as collateral. It's annoying to get siacoins to join as a host, but it means that you are committed. A host that joins the network and then leaves after 2-3 weeks is actually very detrimental to file integrity, and because of hosts like these we need to have a very high redundancy today. In the future, it may take a few weeks for a host to get started, as renters will need to learn to trust the host. After the host has been around for a while, then the host will earn trust (renters will be continually probing the host with uptime checks) and renters will start to use the host. We will also have measures to prevent early hosts from becoming entrenched.
Today, 3 contracts per day sounds about reasonable.
The host will get paid usually after 12 weeks. Once you've been running for 12 weeks, you should start to see steady income.
If a host leaves suddenly, the host will lose of their collateral. This is by design, as we do not want hosts to leave suddenly. If the host wants to leave gracefully, the host should stop accepting new file contracts and then wait about 12 weeks. After 12 weeks, the host will have no more open file contracts, and the host will be able to leave without losing any collateral.
Right now, there's not much you can do to find out more about the contracts that you have. We'll be adding more information as Sia continues to evolve, but in the near term we are most heavily focused on improving the security and the upload speeds. We should have major upgrades ready in the next 2-3 weeks.
@Taek Thanks for your reply.
Looking forward to the next upgrades.
Right now for a new user who just got into Sia, like me, the conflicting information out there can be rather confusing for us to grasp things. I do understand that it's unavoidable until things start to stabilize.
All the best! Right now as a developer who's interesting in making Sia applications, do you think I should wait a few more releases or is it good to start dev today?
@in-cred-u-lous has made a few applications for Sia already, as have a few other users. He can give you an idea of what it's like as a third party developer. Parts of Sia are unstable, but we're planning on releasing the stable version on June 7th 2016, that's really just around the corner.
I would encourage you to get started on an application today, because then you can give us feedback before we lock down the api. Depending on how heavily you use the storage features, the application may not work very well on the current version but we plan on having something much better in the next 2-3 weeks.
We do not plan on changing the API very dramatically between now and the June 7th release. We may break one or two calls, but it should happen in a way that is relatively easy for you to fix. After June 7th, we are committing to full backwards compatibility for our API, which means that developers will have the green light to release the stuff they are working on, and can have confidence that users on future versions of Sia will still be able to use your applications.
What sorts of applications did you have in mind?
i just discovered this SIA, the decentralized cloud storage...
this is the future! perhaps will not able to replace centralized cloud, but will be a great alternative!