Sia v1.0.3 Released
The wait is finally over. After more than 3 months of intense testing and bug slaughtering, we are ready to bring forward the most stable version of Sia yet - v1.0.3. For the first time in Sia's history, it's possible to upload large files, and then to download them again. I cannot express how exhilarating it is to have a decentralized cloud storage platform that is stable.
We are proud to present a fully decentralized cloud storage platform. And by fully decentralized, we mean that we could turn off all company owned and employee owned servers and nodes, and the network would barely notice. The website would go down, the forum would go down, and the siacoin price might crash, but the storage network itself would continue to function without us. New users would be able to download the latest version, would be able to connect to the network, and then would be able to become miners, renters, or hosts just the same as they can today.
That is to say, we have written the code, but we don't run the network.
Sia has been approximately fully decentralized since the original launch of the blockchain in June 2015. Stable uploading and downloading was possible for files smaller than 500MB, but larger files would start to cause problems. Then we started to get traction, and the number of users on the network exploded. Sia crumbled under the scale of thousands of users, and the stability of the early days was lost, even for small files.
We've spent a year now at this point upgrading all parts of the network. The consensus layer, the peer-to-peer layer, the wallet, the host software, and of course, the renter software. v1.0.0 released, representing a big step forward as we extended a compatibility promise, and we shared our completed vision for micropayment-based cloud storage uploading and downloading. And, as long as you kept your total file volume below about 2GB, it worked fairly well. Beyond that, an army of bugs caused instability, freezing, crashing, and data loss. The architecture was strong but the software just wasn't ready. We had released too early, and with too little testing.
We've since developed an entirely new testing platform, and we've dedicated more than 600 commits since the v1.0.2 release to testing, bug fixes, more testing, more bugfixes. We have fixed dozens of places where either the UI or the daemon would crash. We have fixed deadlocks, race conditions, and desynchronization issues. We've tackled uploads that freeze, downloads that never started, contract renewals that either failed or lost data or both. We've tackled denial of service attacks. We've tackled bugs that caused internal files to corrupt upon shutdown.
And we've been able to do this all not in the least because of our community of contributors who willingly accepted every buggy release-candidate that we threw at them. For every bug that we found on our own, one of our users found a bug and took the time to make a bug report, provide us logging, and sometimes upload multi-gigabyte files to let us diagnose the issues. And we're grateful to everyone who took the time to give us as much information as possible about what was going wrong with their system.
I am quite confident that everyone will be able to tell the difference. The stability of Sia is night and day from the client we released for version 1.0.0. We're proud of all the effort we put into this, and we hope that the results are worthwhile.