Blockchain-based fair payment smart contract for public cloud storage auditing