4 of 4 deleted 2 characters in body

Given hash(x) and y, can I verify z = hash(x + y)?

Here's the problem I'm trying to solve:

  • y is public, it's a timestamp
  • there is A who knows x - it's a file
  • A can send B some information about the file (a hash?), but not the full file (it's too big)
  • A then sends the file x to C

The role of B now, is to periodically verify that at given time y C still has the file x. C could send something like hash(x, y) to B, and B (who doesn't have the full x) needs a way to verify that C indeed has the full file x at time y.

Here's the original question I've asked (it includes the solution approach I've been trying to take):

Say I only know hash(x) and y.

I receive z that is supposed to be hash(x + y)? Is there any way I can verify that without knowing x?

I'm interested in any mechanism that could make such check possible rather than particular hash and + operations.