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 efficiently 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.
- 2019. ETH gas station. https://ethgasstation.info/ Accessed on August 19, 2019.Google Scholar
- 2019. RSK. https://www.rsk.co/solutions/ Accessed on August 19, 2019.Google Scholar
- David P Anderson. 2004. Boinc: A system for public-resource computing and storage. In proceedings of the 5th IEEE/ACM International Workshop on Grid Computing. IEEE Computer Society, 4--10.Google ScholarDigital Library
- Benny Applebaum, Yuval Ishai, and Eyal Kushilevitz. 2010. From secrecy to soundness: Efficient verification via secure computation. In International Colloquium on Automata, Languages, and Programming. Springer, 152--163.Google Scholar
- László Babai. 1985. Trading group theory for randomness. In Proceedings of the seventeenth annual ACM symposium on Theory of computing. ACM, 421--429.Google ScholarDigital Library
- Mira Belenkiy, Melissa Chase, C Chris Erway, John Jannotti, Alptekin Küpçü, and Anna Lysyanskaya. 2008. Incentivizing outsourced computation. In Proceedings of the 3rd international workshop on Economics of networked systems. ACM, 85--90.Google ScholarDigital Library
- Iddo Bentov, Rafael Pass, and Elaine Shi. 2016. Snow White: Provably Secure Proofs of Stake. IACR Cryptology ePrint Archive 2016 (2016), 919.Google Scholar
- Vitalik Buterin et al. 2014. A next-generation smart contract and decentralized application platform. white paper (2014).Google Scholar
- Ran Canetti, Ben Riva, and Guy N Rothblum. 2011. Practical delegation of computation using multiple servers. In Proceedings of the 18th ACM conference on Computer and communications security. ACM, 445--454.Google ScholarDigital Library
- Kai-Min Chung, Yael Kalai, and Salil Vadhan. 2010. Improved delegation of computation using fully homomorphic encryption. In Annual Cryptology Conference. Springer, 483--501.Google ScholarCross Ref
- Changyu Dong, Yilei Wang, Amjad Aldweesh, Patrick McCorry, and Aad van Moorsel. 2017. Betrayal, distrust, and rationality. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. ACM, 211--227.Google ScholarDigital Library
- Uriel Feige and Joe Kilian. 1997. Making games short. In STOC, Vol. 97. 506--516.Google ScholarDigital Library
- Rosario Gennaro, Craig Gentry, and Bryan Parno. 2010. Non-interactive verifiable computing: Outsourcing computation to untrustedworkers. In Annual Cryptology Conference. Springer, 465--482.Google ScholarCross Ref
- Shafi Goldwasser, Silvio Micali, and Charles Rackoff. 1989. The knowledge complexity of interactive proof systems. SIAM Journal on computing 18, 1 (1989), 186--208.Google Scholar
- Dominik Harz and Magnus Boman. 2018. The Scalability of Trustless Trust. In International Conference on Financial Cryptography and Data Security. Springer, 279--293.Google Scholar
- MHR Khouzani, Viet Pham, and Carlos Cid. 2014. Incentive engineering for outsourced computation in the face of collusion. In Proceedings of WEIS.Google Scholar
- Joe Kilian. 1992. A note on efficient zero-knowledge proofs and arguments. In Proceedings of the twenty-fourth annual ACM symposium on Theory of computing. ACM, 723--732.Google ScholarDigital Library
- Joe Kilian. 1995. Improved efficient arguments. In Annual International Cryptology Conference. Springer, 311--324.Google ScholarCross Ref
- Loi Luu, Jason Teutsch, Raghav Kulkarni, and Prateek Saxena. 2015. Demystifying incentives in the consensus computer. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. ACM, 706--719.Google ScholarDigital Library
- Viet Pham, MHR Khouzani, and Carlos Cid. 2014. Optimal contracts for outsourced computation. In International Conference on Decision and Game Theory for Security. Springer, 79--98.Google ScholarCross Ref
- Jason Teutsch and Christian Reitwießner. 2017. A scalable verification solution for blockchains. url: https://people. cs. uchicago. edu/teutsch/papers/truebit pdf (2017).Google Scholar
- GavinWood et al. 2014. Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper 151, 2014 (2014), 1--32.Google Scholar
Index Terms
- Verifiable Computation using Smart Contracts
Recommendations
Outsourcing of Verifiable Composite Modular Exponentiations
INCOS '13: Proceedings of the 2013 5th International Conference on Intelligent Networking and Collaborative SystemsModular exponentiation as a basic operation is widely used in discrete-log based cryptographic protocols. Most research has been made for outsourcing exponentiation modular a prime, works for outsourcing composite modular exponentiation are rare. In ...
Fides: A System for Verifiable Computation Using Smart Contracts
Financial Cryptography and Data Security. FC 2022 International WorkshopsAbstractVerifiable computation allows a resource-constrained client to outsource their computation to powerful servers, and efficiently verify their received results. Cryptographic verifiable computation systems, despite their elegant designs, have ...
Fair payments for verifiable cloud services using smart contracts
AbstractWith the advent of cloud computing, outsourcing a computation has become a common practice. A client, to have greater confidence in computations performed by the cloud, should be able to verify the correctness of the results returned. ...
Comments