NebulousLabs / Sia

Blockchain-based marketplace for file storage. Project has moved to GitLab: https://gitlab.com/NebulousLabs/Sia
https://sia.tech
MIT License
2.71k stars 442 forks source link

Sia file format #3113

Open ChrisSchinnerl opened 6 years ago

ChrisSchinnerl commented 6 years ago

This is still missing a few things but I think it's ready for a first round of reviews. It should be pretty much done except for:

Something we should think about is how to make sure the redundancy/availablility reporting remains correct after changing the file format. Since we no longer store the file contract but only the public key of the host and since we don't remove the hosts from the sia file's host table, we don't know if a piece is supposed to be stored on a host. All we know is, that at some point in time a piece was stored on a host.

Another thing I have not yet decided on is when to update the 4 timestamps (modTime, changeTime, accessTime, createTime). Right now my guess is, that createTime, modTime, and changeTime would mostly stay the same until we add modifying files as a feature. accessTime would probably updated every time we download a file.

DavidVorick commented 6 years ago

Overall this is looking pretty good I think.