The security of blockchain smart contracts is one of the most emerging issues of the greatest interest for researchers. This article presents an intermediate specification language for the formal verification of Ethereum-based smart contract in Coq, denoted as Lolisa. The formal syntax and semantics of Lolisa contain a large subset of the Solidity programming language developed for the Ethereum blockchain platform. To enhance type safety, the formal syntax of Lolisa adopts a stronger static type system than Solidity. In addition, Lolisa includes a large subset of Solidity syntax components as well as general-purpose programming language features. Therefore, Solidity programs can be directly translated into Lolisa with line-by-line correspondence. Lolisa is inherently generalizable and can be extended to express other programming languages. Finally, the syntax and semantics of Lolisa have been encapsulated as an interpreter in mathematical tool Coq. Hence, smart contracts written in Lolisa can be symbolically executed and verified in Coq.
As a new technology, blockchain can be used to analyse and process the data through the effective integration of financial resources. New financial formats or service models are produced to upgrade the financial system and promote the efficiency and quality of financial operations and service from three layers (data, rules, and application) based on customers' needs. The blockchain technology can help the financial industry to automatically and accurately identify customer credit conditions, restructure the financial market credit system, and improve the efficiency of cross‐border payment. Meanwhile, it also posed a challenge for the financial industries' development. In this paper, we systematically analysed the blockchain technology and its application in the financial and economic field and the status quo and the challenges. Finally, we provided constructive suggestions to facilitate the blockchain technology development in the financial and economic field.
Recently, blockchain technology, which adds records to a list using cryptographic links, has been widely applied in the financial field. Therefore, the security of blockchain smart contracts is among the most popular contemporary research topics. To improve the theorem-proving technology in this field, we are developing an extensible hybrid verification tool chain, denoted as FSPVM-E, for Ethereum smart contract verification. This hybrid system extends the Coq proof assistant, a formal proof-management system. Combining symbolic execution with higher-order theorem-proving, it solves consistency, automation, and reusability problems by standard theorem-proving approaches. This article completes the FSPVM-E by developing its proof engine. FSPVM-E is an extensible definitional interpreter based on our previous work FEther, which is totally developed in the Coq proof assistant. It supports almost all semantics of the Solidity programing language, and simultaneously executes multiple types of symbols. FEther also contains a set of automatic strategies that execute and verify the smart contracts in Coq with a high level of automation. The functional correctness of FEther was verified in Coq. The execution efficiency of FEther far exceeded that of the interpreters which are developed in Coq in accordance with the standard tutorial. To our knowledge, FEther is the first definitional interpreter of the Solidity language in Coq.Blockchain technology [1], which adds records to a list using cryptographic links, is among the most popular contemporary technologies. Ethereum is a widely adopted blockchain system that implements a general-purpose, Turing-complete programing language called Solidity [2]. Ethereum enables the development of arbitrary smart contracts that can automate blockchain transactions in a virtual runtime environment, namely, the Ethereum Virtual Machine (EVM). Here smart contracts refer to the applications and scripts (i.e., programs) that execute the blockchain. The growing use of smart contracts has necessitated increased scrutiny of their security. Smart contracts can include particular properties (i.e., bugs) that expose them to deliberate attacks causing direct economic loss. Some of the largest attacks on smart contracts are well known, such as the attacks on decentralized autonomous organizations [3] and parity wallet contracts [4]. Many classes of subtle bugs, ranging from transaction-ordering dependencies to mishandled exceptions, exist in smart contracts [5]. Therefore, the security and reliability of smart-contract programs must be verified as rigorously as possible. The properties of programs can be rigorously verified by proving higher-order logic theorems. In the standard approach, a formal model for the target software system is manually abstracted using higher-order theorem-proving assistants. Such formal verification technology provides sufficient freedom and flexibility for designing formal models based on higher-order logic theories, and can abstract and express very complex systems. Howe...
This paper reports on the development and verification of a novel formal symbolic process virtual machine (FSPVM) for verifying the reliability and security of Ethereum smart contracts, denoted as FSPVM-E, in Coq proof assistant. It adopts execution-verification isomorphism (EVI), an extension of Curry-Howard isomorphism (CHI), as its fundamental theoretical framework. The current version of FSPVM-E is constructed on a general, extensible, and reusable formal memory (GERM) framework, an extensible and universal formal intermediate programming language Lolisa, which is a large subset of the Solidity programming language using generalized algebraic datatypes, and the corresponding formally verified interpreter of Lolisa, denoted as FEther. It supports the ERC20 standard and can automatically simultaneously symbolically execute the smart contract programs of Ethereum and verify their reliability and security properties using Hoare logic in Coq. In addition, this work, contributes to solving the problems of automation, inconsistency and reusability in higher-order logic theorem proving.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.