Verifying remote data integrity in peer-to-peer data storage: A comprehensive survey of protocols