  This paper presents SigVM, a novel blockchain virtual machine that supports
an event-driven execution model, enabling developers to build fully autonomous
smart contracts. SigVM introduces another way for a contract to interact with
another. 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 built an end-to-end
blockchain platform SigChain and a contract language compiler SigSolid to
realize the potential of SigVM. Experimental results show that SigVM enables
contracts in our benchmark applications to be reimplemented in a fully
autonomous way, eliminating the dependency on unreliable mechanisms like
off-chain relay servers. SigVM can significantly simplify the execution flow of
our benchmark applications, and can avoid security risks such as front-run
attacks.
