Verifiable computation using smart contracts

23Citations
Citations of this article
45Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free