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.
- æ ernity dev team. 2020. The Sophia Language. https://github.com/aeternity/aesophia/blob/lima/docs/sophia.mdl
Google Scholar
- Andreas M. Antonopoulos. 2017. Mastering Bitcoin: Programming the Open Blockchain (2nd ed.). O’Reilly Media, Inc.. isbn:1491954388
Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Vitalik Buterin. 2014. Ethereum: A next-generation smart contract and decentralized application platform. https://github.com/ethereum/wiki/wiki/White-Paper
Google Scholar
- 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 Scholar
- ChainLink. 2020. ChainLink: Using Price Feeds. https://docs.chain.link/docs/get-the-latest-price
Google Scholar
- 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 Scholar
- RChain Cooperative. 2019. Rholang. https://github.com/rchain/rchain/tree/master/rholang
Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- Ethereum. 2020. The Solidity Contract-Oriented Programming Language. https://github.com/ethereum/solidity
Google Scholar
- Planet Ethereum. 2018. Ethbase. https://github.com/planet-ethereum/ethbase
Google Scholar
- Etherscan. 2021. The Ethereum Blockchain Explorer. https://etherscan.io/
Google Scholar
- Vitalik Buterin Fabian Vogelsteller. 2015. "EIP-20: ERC-20 Token Standard," Ethereum Improvement Proposals. https://eips.ethereum.org/EIPS/eip-20
Google Scholar
- The Maker Foundation. 2019. The Maker Protocol: MakerDAO’s Multi-Collateral Dai (MCD) System. https://makerdao.com/en/whitepaper/
Google Scholar
- 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 Scholar
- The Near Foundation. 2021. The NEAR White Paper. https://near.org/papers/the-official-near-white-paper/
Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- Robert Leshner and Geoffrey Hayes. 2019. Compound: The Money Market Protocol. https://compound.finance/documents/Compound.Whitepaper.pdf
Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Conflux Network. 2021. Conflux-Rust. https://developer.confluxnetwork.org/
Google Scholar
- 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 Scholar
Digital Library
- OCamlPRO. 2020. Liquidity Documentation. https://www.liquidity-lang.org/doc/
Google Scholar
- 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 Scholar
Digital Library
- Michael Oved and Don Mosites. 2017. Swap: A Peer-to-Peer Protocol for Trading Ethereum Tokens. https://www.airswap.io/whitepaper.htm
Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- provable.xyz. 2019. Provable: Ethereum Quick Start. https://docs.provable.xyz/##ethereum-quick-start
Google Scholar
- Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin Gün Sirer. 2020. Avalanche Platform. https://www.avalabs.org/whitepapers
Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Vyper Team. 2020. Vyper. https://vyper.readthedocs.io/en/stable/
Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Index Terms
SigVM: enabling event-driven execution for truly decentralized smart contracts
Recommendations
ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts
CCS '20: Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications SecuritySmart contracts are programmable, decentralized and transparent financial applications. Because smart contract platforms typically support Turing-complete programming languages, such systems are often said to enable arbitrary applications. However, the ...
An event driven framework for smart contract execution
DEBS '21: Proceedings of the 15th ACM International Conference on Distributed and Event-based SystemsBlockchain-based smart contract platforms have traditionally employed the transaction-driven execution model. This paper presents an alternate framework for blockchain-based smart contract execution called EDSC. Our platform design presents a novel ...
Security Vulnerabilities in Ethereum Smart Contracts
iiWAS2018: Proceedings of the 20th International Conference on Information Integration and Web-based Applications & ServicesSmart contracts (SC) are one of the most appealing features of blockchain technologies facilitating, executing, and enforcing predefined terms of coded contracts without intermediaries. The steady adoption of smart contracts on the Ethereum blockchain ...






Comments