Formal Verification of Atomicity Requirements for Smart Contracts

4Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Smart contracts are notoriously vulnerable to bugs and loopholes. This is due largely to an unusual combination of features: re-entrant calls, transfer-triggered code execution, the way exceptions are propagated, etc. Numerous validation techniques have been developed to ensure the safety and security of smart contracts. An important class of problems dealt with is related to the atomic performance of actions such as contract calls and state updates. In this paper, we examine the major existing atomicity-related criteria for the safety and security of smart contracts. We then propose an atomicity criterion and argue about its advantages. Furthermore, we develop a Hoare-style program logic that is capable of verifying the fulfillment of safety requirements by smart contracts, including the satisfaction of the proposed criterion. The program logic is developed and proven sound for a core Solidity-like language, which supports reentrant calls, ether transfers, and exception handling.

Cite

CITATION STYLE

APA

Han, N., Li, X., Wang, G., Shi, Z., & Guan, Y. (2020). Formal Verification of Atomicity Requirements for Smart Contracts. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 12470 LNCS, pp. 44–64). Springer Science and Business Media Deutschland GmbH. https://doi.org/10.1007/978-3-030-64437-6_3

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free