Earlier quoted context omitted.
Sia uses reed-solomon encoding to spread files over 30 hosts with a redundancy of 3x. So Any 20 hosts can fail at the same time and the files would still be available. This does mean that you need to upload all your data 3 times. Sia also needs to monitor your uploaded files all the time to make sure the hosts behave. This means hosts periodically run checksums on the stored data to prove to the client that the data…
This is really interesting! How does Sia prevent hosts from precomputing the checksums to fake they are behaving but erasing the data itself? Does it checksum over random ranges of data? Which source does it use for entropy so that the network remains distributed but nodes can't predict the ranges? Does it use the last block nonce? Which checksum algorithm does it use? Is care taken as to not be vulnerable to prepend…
We do probabilistic proofs, so we have the host provide us a small random sampling of actual data (so the host can't rely on precomputing), plus a proof that this actual data is what the contract says the host should be storing.
See chapter 5: https://sia.tech/sia.pdf