skip to main content
10.1145/3338466.3358925acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

Verifiable Computation using Smart Contracts

Published:11 November 2019Publication History

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.

References

  1. 2019. ETH gas station. https://ethgasstation.info/ Accessed on August 19, 2019.Google ScholarGoogle Scholar
  2. 2019. RSK. https://www.rsk.co/solutions/ Accessed on August 19, 2019.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. Iddo Bentov, Rafael Pass, and Elaine Shi. 2016. Snow White: Provably Secure Proofs of Stake. IACR Cryptology ePrint Archive 2016 (2016), 919.Google ScholarGoogle Scholar
  8. Vitalik Buterin et al. 2014. A next-generation smart contract and decentralized application platform. white paper (2014).Google ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. Uriel Feige and Joe Kilian. 1997. Making games short. In STOC, Vol. 97. 506--516.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Rosario Gennaro, Craig Gentry, and Bryan Parno. 2010. Non-interactive verifiable computing: Outsourcing computation to untrustedworkers. In Annual Cryptology Conference. Springer, 465--482.Google ScholarGoogle ScholarCross RefCross Ref
  14. 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 ScholarGoogle Scholar
  15. Dominik Harz and Magnus Boman. 2018. The Scalability of Trustless Trust. In International Conference on Financial Cryptography and Data Security. Springer, 279--293.Google ScholarGoogle Scholar
  16. MHR Khouzani, Viet Pham, and Carlos Cid. 2014. Incentive engineering for outsourced computation in the face of collusion. In Proceedings of WEIS.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Joe Kilian. 1995. Improved efficient arguments. In Annual International Cryptology Conference. Springer, 311--324.Google ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarCross RefCross Ref
  21. 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 ScholarGoogle Scholar
  22. GavinWood et al. 2014. Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper 151, 2014 (2014), 1--32.Google ScholarGoogle Scholar

Index Terms

  1. Verifiable Computation using Smart Contracts

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          CCSW'19: Proceedings of the 2019 ACM SIGSAC Conference on Cloud Computing Security Workshop
          November 2019
          209 pages
          ISBN:9781450368261
          DOI:10.1145/3338466

          Copyright © 2019 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 11 November 2019

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate37of108submissions,34%

          Upcoming Conference

          CCS '24
          ACM SIGSAC Conference on Computer and Communications Security
          October 14 - 18, 2024
          Salt Lake City , UT , USA

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader