Story #8181

Updated by Ward Vandewege about 1 year ago

Keepstore gives the client a salt. The client returns some hash including that salt plus the original data to prove it has the original data. If the client does so successfully, Keepstore discloses whether or not it has the block, and returns a newly signed block locator. Upload clients can use this to avoid uploading blocks that already exist on the destination.

Alternatively: add a 'trust keep clients' flag in config.yml, which site admins could enable to allow client-side hashing, and let the keepstores trust the client-provided hashes.