Verification of data on an untrusted remote storage server I was looking at tahoe-lafs which accepts a file, encrypts it, does erasure coding on it which generates n shares and then distributes it over the storage servers. The distribution is Share 1 = Server A, Share 2 = Server B and Share 3 = Server C. 

Now If I want to make sure that the Server B  has that data, how do I go about doing that?

I could request the share, hash it and verify it by building a merkel tree but that would consume lot of storage server bandwidth if the share size is big. We can't ask the storage server to send us the hash by computing it since it might have the precomputed hash and might not generate the hash at all.

So how do I go about doing this? I looked at Provable data possession but couldn't understand much. Can someone point me in the right direction or help me understand it?
Proof of Data Possession (PDP) is a challenge-response protocol enabling a user (for example in the cloud network) to check whether a data file stored on a remote server is available in its original form or not. Data integrity is an important factor in almost any data and computation related context. It is not only one of the qualities of service, but also an important part of data security and privacy.

In PDP, data owners have a limited storage to store all messages so process their sensitive data to generate verifiable authenticators which are outsourced along with the data to the server (cloud). Although the servers promise a reliable environment to the users, the integrity of data is a subject to scepticism, as an untrusted cloud can easily be lost or corrupted, due to the existence of hardware and software failures or human errors.

In this point, data owners can download the entire message and check whether it is stored without any corruption or not. But it is not acceptable for users who have a limited capacity so PDP schemes provide a solution for data owners to check the cloud's claim for data storing. 

There are different concepts for PDP schemes but share PDP amongst some servers is a good scenario for your question such as LINK. 

On the purpose of reducing the hardness in the data owner side, Third Party Auditor is considered. When the data owner wants to upload the data on the server, calculates the tag corresponding to the message which has less size than the original message (Hash of message) and stores it. When he/ she plans to check the integrity of the message provide a challenge and get a response corresponding to the stored message from the server. Each PDP scheme should satisfy these properties:

•   Completeness: A valid proof generated by the server based on the protocol, should convince the TPA during the auditing process.

•   Soundness:  This property guarantees that for every untrusted cloud server, it is computationally impossible to generate an invalid proof that can pass the verification under the proposed scheme.

•   Perfect data privacy: The TPA is only trusted to check data integrity on behalf of users and should not learn any information about the data content. Perfect data privacy guarantees that nothing but the correctness of the proof is revealed to the TPA during protocol execution.