Bad stuff can happen. A single 10TB drive can develop a few bad sectors, there could be a power failure that corrupts the database and so on. Nothing is perfect. However, under the current rules, losing a bit of data means I have to delete the rest of the data and start over. This looks like a disproportionate response - the database got corrupted somehow etc and now I have to wait a year for my node to fill back up etc.
Especially since there were cases where nodes got disqualified because of a corrupt or locked DB and the DB cannot be run in a cluster.
So, how about this (@Alexey formulated this, I will expand on it later) :
You could be allowed to recover a missed files, but you should pay in advance the amount which is enough to recover the whole data. The held amount could reduce the amount to pay.
My specific example would be with a backup. I had to restore a backup from yesterday and my node does not have the 200GB that were uploaded to it since the backup was made. I now have to pay in advance for the data recovery (for my entire node, because maybe I am lying that I restored a backup) and give a timestamp of the backup. All the newer data gets repaired (and maybe put on some other nodes, whatever) and my node enters some kind of extended vetting state, where it has to pass a lot of audits (for the older data, we know for sure that it does not have the newer data).
This could go one of multiple ways:
- My node gets audits for every piece it is supposed to have, any pieces that it has lost get repaired. After the process is complete, the satellite either gives me the remaining money with the next payout.
- My node gets a lot of audits until the satellite is satisfied that the node either has the data or has lost more data than I claim. If the satellite is satisfied with my node, it gives me the remaining money. If my node has lost more data than I claim, it gets disqualified anyway and I do not get the money back.
The end result should be that I should not have to wait a year to fill my node up if I have a backup that is recent enough.
Just like if I manage to lose some of my customers emails I do not just go and delete the rest of them, but instead restore from a backup.