skip to main content

SigVM: enabling event-driven execution for truly decentralized smart contracts

Published:31 October 2022Publication History
Skip Abstract Section

Abstract

This paper presents SigVM, the first blockchain virtual machine that extends EVM to support an event-driven execution model, enabling developers to build truly decentralized smart contracts. Contracts in SigVM can emit signal events, on which other contracts can listen. Once an event is triggered, corresponding handler functions are automatically executed as signal transactions. We build an end-to-end blockchain platform SigChain and a contract language compiler SigSolid to realize the potential of SigVM. Experimental results show that our benchmark applications can be reimplemented with SigVM in a truly decentralized way, eliminating the dependency on centralized and unreliable mechanisms like off-chain relay servers. The development effort of reimplementing these contracts with SigVM is small, i.e., we modified on average 3.17% of the contract code. The runtime and the gas overhead of SigVM on these contracts is negligible.

References

  1. æ ernity dev team. 2020. The Sophia Language. https://github.com/aeternity/aesophia/blob/lima/docs/sophia.mdl Google ScholarGoogle Scholar
  2. Andreas M. Antonopoulos. 2017. Mastering Bitcoin: Programming the Open Blockchain (2nd ed.). O’Reilly Media, Inc.. isbn:1491954388 Google ScholarGoogle Scholar
  3. Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Anitha Gollamudi, Georges Gonthier, Nadim Kobeissi, Natalia Kulatova, Aseem Rastogi, Thomas Sibut-Pinote, Nikhil Swamy, and Santiago Zanella Béguelin. 2016. Formal Verification of Smart Contracts: Short Paper. In Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security, [email protected] 2016, Vienna, Austria, October 24, 2016, Toby C. Murray and Deian Stefan (Eds.). ACM, 91–96. https://doi.org/10.1145/2993600.2993611 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Sam Blackshear, Evan Cheng, David L. Dill, Victor Gao, Ben Maurer, Todd Nowacki, Alistair Pott, Shaz Qadeer, Rain, Dario Russi, Stephane Sezer, Tim Zakian, and Runtian Zhou. 2020. Move: A Language With Programmable Resources. https://developers.libra.org/docs/assets/papers/libra-move-a-language-with-programmable-resources/2020-05-26.pdf Google ScholarGoogle Scholar
  5. Vitalik Buterin. 2014. Ethereum: A next-generation smart contract and decentralized application platform. https://github.com/ethereum/wiki/wiki/White-Paper Google ScholarGoogle Scholar
  6. Vitalik Buterin, Eric Conner, Rick Dudley, Matthew Slipper, Ian Norden, and Abdelhamid Bakhta. 2019. Fee Market Change for ETH 1.0 Chain. https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md Google ScholarGoogle Scholar
  7. ChainLink. 2020. ChainLink: Using Price Feeds. https://docs.chain.link/docs/get-the-latest-price Google ScholarGoogle Scholar
  8. Michael Coblenz, Reed Oei, Tyler Etzel, Paulette Koronkevich, Miles Baker, Yannick Bloem, Brad A. Myers, Joshua Sunshine, and Jonathan Aldrich. 2019. Obsidian: Typestate and Assets for Safer Blockchain Programming. arxiv:1909.03523. Google ScholarGoogle Scholar
  9. RChain Cooperative. 2019. Rholang. https://github.com/rchain/rchain/tree/master/rholang Google ScholarGoogle Scholar
  10. Ankush Das, Stephanie Balzer, Jan Hoffmann, Frank Pfenning, and Ishani Santurkar. 2021. Resource-Aware Session Types for Digital Contracts. In 34th IEEE Computer Security Foundations Symposium, CSF 2021, Dubrovnik, Croatia, June 21-25, 2021. IEEE, 1–16. https://doi.org/10.1109/CSF51468.2021.00004 Google ScholarGoogle ScholarCross RefCross Ref
  11. Corentin Denoeud. 2020. What Is A Transaction Relayer And How Does It Work? https://hackernoon.com/what-is-a-transaction-relayer-and-how-does-it-work-bd1q3ywa Google ScholarGoogle Scholar
  12. Ethereum. 2020. The Solidity Contract-Oriented Programming Language. https://github.com/ethereum/solidity Google ScholarGoogle Scholar
  13. Planet Ethereum. 2018. Ethbase. https://github.com/planet-ethereum/ethbase Google ScholarGoogle Scholar
  14. Etherscan. 2021. The Ethereum Blockchain Explorer. https://etherscan.io/ Google ScholarGoogle Scholar
  15. Vitalik Buterin Fabian Vogelsteller. 2015. "EIP-20: ERC-20 Token Standard," Ethereum Improvement Proposals. https://eips.ethereum.org/EIPS/eip-20 Google ScholarGoogle Scholar
  16. The Maker Foundation. 2019. The Maker Protocol: MakerDAO’s Multi-Collateral Dai (MCD) System. https://makerdao.com/en/whitepaper/ Google ScholarGoogle Scholar
  17. The Maker Foundation. 2020. The Market Collapse of March 12-13, 2020: How It Impacted MakerDAO. https://blog.makerdao.com/the-market-collapse-of-march-12-2020-how-it-impacted-makerdao/ Google ScholarGoogle Scholar
  18. The Near Foundation. 2021. The NEAR White Paper. https://near.org/papers/the-official-near-white-paper/ Google ScholarGoogle Scholar
  19. Everett Hildenbrandt, Manasvi Saxena, Nishant Rodrigues, Xiaoran Zhu, Philip Daian, Dwight Guth, Brandon M. Moore, Daejun Park, Yi Zhang, Andrei Stefanescu, and Grigore Rosu. 2018. KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine. In 31st IEEE Computer Security Foundations Symposium, CSF 2018, Oxford, United Kingdom, July 9-12, 2018. IEEE Computer Society, 204–217. https://doi.org/10.1109/CSF.2018.00022 Google ScholarGoogle ScholarCross RefCross Ref
  20. Sukrit Kalra, Seep Goel, Mohan Dhawan, and Subodh Sharma. 2018. ZEUS: Analyzing Safety of Smart Contracts. In 25th Annual Network and Distributed System Security Symposium, NDSS 2018, San Diego, California, USA, February 18-21, 2018. The Internet Society. http://wp.internetsociety.org/ndss/wp-content/uploads/sites/25/2018/02/ndss2018_09-1_Kalra_paper.pdf Google ScholarGoogle Scholar
  21. Robert Leshner and Geoffrey Hayes. 2019. Compound: The Money Market Protocol. https://compound.finance/documents/Compound.Whitepaper.pdf Google ScholarGoogle Scholar
  22. Ao Li, Jemin Andrew Choi, and Fan Long. 2020. Securing smart contract with runtime validation. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020, Alastair F. Donaldson and Emina Torlak (Eds.). ACM, 438–453. https://doi.org/10.1145/3385412.3385982 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Chenxing Li, Peilun Li, Dong Zhou, Zhe Yang, Ming Wu, Guang Yang, Wei Xu, Fan Long, and Andrew Chi-Chih Yao. 2020. A Decentralized Blockchain with High Throughput and Fast Confirmation. In 2020 USENIX Annual Technical Conference, USENIX ATC 2020, July 15-17, 2020, Ada Gavrilovska and Erez Zadok (Eds.). USENIX Association, 515–528. https://www.usenix.org/conference/atc20/presentation/li-chenxing Google ScholarGoogle Scholar
  24. Chao Li and Balaji Palanisamy. 2020. EventWarden: A Decentralized Event-driven Proxy Service for Outsourcing Arbitrary Transactions in Ethereum-like Blockchains. In 2020 IEEE International Conference on Web Services, ICWS 2020, Beijing, China, October 19-23, 2020. IEEE, 9–16. https://doi.org/10.1109/ICWS49710.2020.00009 Google ScholarGoogle ScholarCross RefCross Ref
  25. Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena, and Aquinas Hobor. 2016. Making Smart Contracts Smarter. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24-28, 2016, Edgar R. Weippl, Stefan Katzenbeisser, Christopher Kruegel, Andrew C. Myers, and Shai Halevi (Eds.). ACM, 254–269. https://doi.org/10.1145/2976749.2978309 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Conflux Network. 2021. Conflux-Rust. https://developer.confluxnetwork.org/ Google ScholarGoogle Scholar
  27. Ivica Nikolic, Aashish Kolluri, Ilya Sergey, Prateek Saxena, and Aquinas Hobor. 2018. Finding The Greedy, Prodigal, and Suicidal Contracts at Scale. In Proceedings of the 34th Annual Computer Security Applications Conference, ACSAC 2018, San Juan, PR, USA, December 03-07, 2018. ACM, 653–663. https://doi.org/10.1145/3274694.3274743 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. OCamlPRO. 2020. Liquidity Documentation. https://www.liquidity-lang.org/doc/ Google ScholarGoogle Scholar
  29. Russell O’Connor. 2017. Simplicity: A New Language for Blockchains. In Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security, [email protected] 2017, Dallas, TX, USA, October 30, 2017. ACM, 107–120. https://doi.org/10.1145/3139337.3139340 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Michael Oved and Don Mosites. 2017. Swap: A Peer-to-Peer Protocol for Trading Ethereum Tokens. https://www.airswap.io/whitepaper.htm Google ScholarGoogle Scholar
  31. Anton Permenev, Dimitar K. Dimitrov, Petar Tsankov, Dana Drachsler-Cohen, and Martin T. Vechev. 2020. VerX: Safety Verification of Smart Contracts. In 2020 IEEE Symposium on Security and Privacy, SP 2020, San Francisco, CA, USA, May 18-21, 2020. IEEE, 1661–1677. https://doi.org/10.1109/SP40000.2020.00024 Google ScholarGoogle ScholarCross RefCross Ref
  32. Jack Peterson, Joseph Krug, Micah Zoltu, Austin K. Williams, and Stephanie Alexander. 2019. Augur: a Decentralized Oracle and Prediction Market Platform (v2.0). https://www.augur.net/whitepaper.pdf Google ScholarGoogle Scholar
  33. provable.xyz. 2019. Provable: Ethereum Quick Start. https://docs.provable.xyz/##ethereum-quick-start Google ScholarGoogle Scholar
  34. Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin Gün Sirer. 2020. Avalanche Platform. https://www.avalabs.org/whitepapers Google ScholarGoogle Scholar
  35. Ilya Sergey, Vaivaswatha Nagaraj, Jacob Johannsen, Amrit Kumar, Anton Trunov, and Ken Chan Guan Hao. 2019. Safer smart contract programming with Scilla. Proc. ACM Program. Lang., 3, OOPSLA (2019), 185:1–185:30. https://doi.org/10.1145/3360611 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Vilhelm Sjöberg, Yuyang Sang, Shu-Chun Weng, and Zhong Shao. 2019. DeepSEA: a language for certified system software. Proc. ACM Program. Lang., 3, OOPSLA (2019), 136:1–136:27. https://doi.org/10.1145/3360562 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Vyper Team. 2020. Vyper. https://vyper.readthedocs.io/en/stable/ Google ScholarGoogle Scholar
  38. Zihan Zhao, Sidi Mohamed Beillahi, Ryan Song, Yuxi Cai, Andreas Veneris, and Fan Long. 2022. Artifact for the OOPSLA 2022 paper: SigVM: Enabling Event-Driven Execution for Truly Decentralized Smart Contracts. https://doi.org/10.5281/zenodo.6885003 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zihan Zhao, Sidi Mohamed Beillahi, Ryan Song, Yuxi Cai, Andreas Veneris, and Fan Long. 2022. SigVM: Enabling Event-Driven Execution for Autonomous Smart Contracts. arxiv:2102.10784. Google ScholarGoogle Scholar

Index Terms

  1. SigVM: enabling event-driven execution for truly decentralized 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

      Full Access

      • Article Metrics

        • Downloads (Last 12 months)145
        • Downloads (Last 6 weeks)18

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!