Nope, thats where the second Proof comes in. PoSt (Proof of SpaceTime) periodically challenges miners to verify that they have the data they claim to. Since replicas are expensive (slow) to compute, and the challenge window is short, this verifies that the miners in question have not deleted their sealed replicas.
The ongoing compute cost for these PoSts are quite small, I think the current numbers (obviously subject to change) are that you have to do one PoSt per day, which is a single 100M constraint zkSNARK proof, which should take about 10 minutes of machine-with-decent-GPU time to compute.
- Sealing: Done once. 3-4h compute on one CPU initially, plus 2-3 hours on a few CPUs.
- Proof of space time: 10 minutes of GPU time per day.
What are the latency expectations within the system when my node is asked for a Proof of SpaceTime? Is it feasible to keep the sealing data, delete the file itself, then spend ~5 minutes downloading the 32GB on my 1 gigabit/sec home Internet connection when someone asks me to do the Proof of SpaceTime, and return the Proof of SpaceTime in 15 minutes (5 min to download, 10 min to compute)?
Thanks again for engaging with me here! It seems the compute time itself isn't a constant enormous cost necessarily.
> What are the latency expectations within the system when my node is asked for a Proof of SpaceTime?
We want them to be as low as possible, but the practicality of getting messages included into a blockchain, and the high cost of running snarks means its definitely on the order of minutes, realistically in the tens of minutes.
A few things to note, the Proof of SpaceTime happens over all of your sectors, not just one. So that ten minutes of GPU time per day is amortized across all of the data you are storing.
> Is it feasible to keep the sealing data, delete the file itself...
Yes, thats feasible if the file you are downloading is already sealed (note: sealing generates a piece of data unique to you, so wherever else that thing is stored is effectively your owned storage). This isnt really different than you having your data stored on a NAS box somewhere. What you cannot do is download the original unsealed data and hope to respond to the challenge in time, as that would require rerunning the expensive sealing process.
So then, dumb question. Can I delete the file, keep the "seal", and keep winning 1% of the blocks?
If yes, then that seems bad for the system.
If not (hopefully), I'd like to also understand what's the ongoing compute cost of using the seal plus file together.
I understood from the article that sealing is something you do if you are publishing a mirror of a file. Is that right?
Feel free to get bored of this conversation and link me to a paper or something. :) I'm grateful for the reply you gave above already.