A comprehensive survey on smart contract construction and execution: paradigms, tools, and systems
arXiv:2008.13413 · doi:10.1016/j.patter.2020.100179
Abstract
Smart contracts are regarded as one of the most promising and appealing notions in blockchain technology. Their self-enforcing and event-driven features make some online activities possible without a trusted third party. Nevertheless, problems such as miscellaneous attacks, privacy leakage, and low processing rates pre-vent them from being widely applied. Various schemes and tools have been proposed to facilitate the construction and execution of secure smart contracts. However, a comprehensive survey for these proposals is absent, hindering new researchers and developers from a quick start. This paper surveys the literature and online resources on smart contract construction and execution over the period 2008-2020. We divide the studies into three categories: (1) design paradigms that give examples and patterns on contract construction, (2) design tools that facilitate the development of secure smart contracts, and (3) extensions and alternatives that improve the privacy or efficiency of the system. We start by grouping the relevant construction schemes into the first two categories. We then review the execution mechanisms in the last category and further divide the state-of-the-art solutions into three classes: private contracts with extra tools, off-chain channels, and extensions on core functionalities. Finally, we summarize several challenges and identify future research directions toward developing secure, privacy-preserving, and efficient smart contracts.
arXiv commentPublished on Patterns (Cell Press), see https://www.cell.com/patterns/fulltext/S2666-3899(20)30243-9
References in corpus (27)
- Blockchain Technology Overview
- A Survey on Security and Privacy Issues of Bitcoin
- ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection
- Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contract Execution
- Smart Contract Templates: foundations, design landscape and research directions
- Securify: Practical Security Analysis of Smart Contracts
- Vandal: A Scalable Security Analysis Framework for Smart Contracts
- Towards Safer Smart Contracts: A Survey of Languages and Verification Methods
- Smart Contract Templates: essential requirements and design options
- Scilla: a Smart Contract Intermediate-Level LAnguage
- Smart Contract Vulnerabilities: Vulnerable Does Not Imply Exploited
- Raziel: Private and Verifiable Smart Contracts on Blockchains
- FEther: An Extensible Definitional Interpreter for Smart-contract Verifications in Coq
- Precise Attack Synthesis for Smart Contracts
- Private Data Objects: an Overview
- Teechain: A Secure Payment Network with Asynchronous Blockchain Access
- Retrofitting a two-way peg between blockchains
- Under-Optimized Smart Contracts Devour Your Money
- Deductive Proof of Ethereum Smart Contracts Using Why3
- Scalable and Privacy-preserving Design of On/Off-chain Smart Contracts
- Running on Fumes--Preventing Out-of-Gas Vulnerabilities in Ethereum Smart Contracts using Static Resource Analysis
- A Revisit on Blockchain-based Smart Contract Technology
- Modeling Bitcoin Contracts by Timed Automata
- Implementation of Smart Contracts Using Hybrid Architectures with On- and Off-Blockchain Components
- Building Executable Secure Design Models for Smart Contracts with Formal Methods
- Instantaneous Decentralized Poker
- On-Chain Decentralized Learning and Cost-Effective Inference for DeFi Attack Mitigation
Cited by in corpus (6)
- Security Defense For Smart Contracts: A Comprehensive Survey
- Smart Contract and DeFi Security Tools: Do They Meet the Needs of Practitioners?
- Integration of Blockchain and Auction Models: A Survey, Some Applications, and Challenges
- Smart Contract Languages: a comparative analysis
- OpenSCV: An Open Hierarchical Taxonomy for Smart Contract Vulnerabilities
- The Democratization of Wealth Management: Hedged Mutual Fund Blockchain Protocol