Abstract
Outsourcing computation has been widely used to allow weak clients to access computational resources of a cloud. A natural security requirement for the client is to be able to eficiently verify the received computation result. An attractive approach to verifying a general computation is to send the computation to multiple clouds, and use carefully designed protocols to compare the results and achieve verifiability. This however requires a Trusted Third Party (TTP) to manage the interactions of the client and the clouds. Our goal is to employ a smart contract to act as the TTP. This also relieves the client from directly interacting with the clouds, and engaging in possibly a complex stateful protocol. We focus on a verifiable computation protocol of Canetti, Riva and Rothbulm (CRR) with provable security against a malicious cloud, and show that direct employment of the protocol with a smart contract will result in an attack that will undermine the security of the system. We describe and analyze the attack, and extend CRR protocol to protect against this attack, resulting in a secure verifiable computation system using smart contracts. We also give the pseudocode of a smart contract and the required functions that can be used to implement the protocol, written in the Solidity language, and explain its working.
Author supplied keywords
Cite
CITATION STYLE
Avizheh, S., Nabi, M., Safavi-Naini, R., & Muni Venkateswarlu, K. (2019). Verifiable computation using smart contracts. In Proceedings of the ACM Conference on Computer and Communications Security (pp. 17–28). Association for Computing Machinery. https://doi.org/10.1145/3338466.3358925
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.