A Concurrent Perspective on Smart Contracts

Ilya Sergey,Aquinas Hobor
DOI: https://doi.org/10.48550/arXiv.1702.05511
2017-02-18
Abstract:In this paper, we explore remarkable similarities between multi-transactional behaviors of smart contracts in cryptocurrencies such as Ethereum and classical problems of shared-memory concurrency. We examine two real-world examples from the Ethereum blockchain and analyzing how they are vulnerable to bugs that are closely reminiscent to those that often occur in traditional concurrent programs. We then elaborate on the relation between observable contract behaviors and well-studied concurrency topics, such as atomicity, interference, synchronization, and resource ownership. The described contracts-as-concurrent-objects analogy provides deeper understanding of potential threats for smart contracts, indicate better engineering practices, and enable applications of existing state-of-the-art formal verification techniques.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?