The listed publications conduct a survey and/or empirical analysis on smart contract applications, challenges, languages, vulnerabilities, and verification techniques, or propose security and design patterns for their development.
Publication | Authors | Venue | Year | Subject | Platform |
---|---|---|---|---|---|
Formal models of Bitcoin contracts: A survey | Bartoletti and Zunino | Frontiers in Blockchain | 2019 | Formal models, Modeling languages | Bitcoin |
Formal verification of smart-contract languages: A survey | V. Dwivedi et al. | ICACDS | 2019 | Programming languages | Ethereum, RChain, Æternity, etc. |
A survey of tools for analyzing Ethereum smart contracts | di Angelo and Salzer | IEEE DAPPCON | 2019 | Verification tools | Ethereum |
A survey on security verification of blockchain smart contracts | Liu anf Liu | IEEE Access | 2019 | Verification tools | Ethereum |
Blockchain-enabled smart contracts: Architecture, applications, and future trends | Wang et al. | IEEE Trans. Syst. Man Cybern. Syst. | 2019 | Applications, Challenges, Operational mechanism, Research framework | Ethereum, Hyperledger Fabric |
Bug searching in smart contract | Feng et al. | arXiv | 2019 | Verification tools, Vulnerabilities | Ethereum |
Smart contract development: Challenges and opportunities | Zou et al. | IEEE TSE | 2019 | Challenges, Developer survey | Ethereum |
A survey on Ethereum systems security: vulnerabilities, attacks and defenses | Chen et al. | ACM CSUR | 2019 | Vulnerabilities, Attacks, Verification tools | Ethereum |
Security, performance, and applications of smart contracts: A systematic survey | Rouhani and Deters | IEEE Access | 2019 | Vulnerabilities, Verification tools, Applications, Performance | Ethereum |
Security analysis methods on Ethereum smart contract vulnerabilities: A survey | Praitheeshan et al. | arXiv | 2019 | Vulnerabilities, Verification tools, Attacks, Challenges | Ethereum |
Opportunities, challenges, and future extensions for smart-contract design patterns | Worley and Skjellum | BIS | 2018 | Design patterns | Ethereum |
Towards automated generation of bug benchmark for smart contracts | Ye et al. | IEEE ICSTW | 2019 | Vulnerabilities, Verification tools, Benchmark | Ethereum |
Towards safer smart contracts: A survey of languages and verification methods | Harz and Knottenbelt | arXiv | 2018 | Programming languages, Verification tools | Ethereum, Bitcoin, Tezos, etc. |
Empirical vulnerability analysis of automated smart contracts security testing on blockchains | Parizi et al. | CASCON | 2018 | Verification tools | Ethereum |
Smart contract programming languages on blockchains: An empirical evaluation of usability and security | Parizi et al. | ICBC | 2018 | Programming languages, Human study | Ethereum, Tezos, Kadena |
Literature review: Smart contract semantics | Mathur | arXiv | 2018 | Formal models, Modeling language | N/A |
Will that smart contract really do what you expect it to do? | Everts and Muller | White paper | 2018 | Verification tools, Challenges | Ethereum, Hyperledger Fabric, etc. |
Smart contracts: Security patterns in the Ethereum ecosystem and Solidity | Wöhrer and Zdun | IEEE IWBOSE@SANER | 2018 | Design patterns | Ethereum |
Design patterns for smart contracts in the Ethereum ecosystem | Wöhrer and Zdun | IEEE iThings, GreenCom, CPSCom, SmartData | 2018 | Design patterns | Ethereum |
Smart contracts and opportunities for formal methods | Miller et al. | ISoLA | 2018 | Programming languages, Verification tools, Challenges | Ethereum, Bitcoin, RChain, Tezos, etc. |
Validation and verification of smart contracts: A research agenda | Magazzeni et al. | IEEE Computer | 2017 | Challenges | Ethereum, Bitcoin |
An empirical analysis of smart contracts: platforms, applications, and design patterns | Bartoletti and Pompianu | FC | 2017 | Design patterns, Applications | Ethereum, Bitcoin |
Scripting smart contracts for distributed ledger technology | Lamela Seijas et al. | FC | 2016 | Programming languages, Vulnerabilities, Challenges, Verification techniques | Bitcoin, Nxt, Ethereum, etc. |
A pattern collection for blockchain-based applications | Xu et al. | ACM EuroPLoP | 2018 | Design patterns | Ethereum, Bitcoin, etc. |
Blockchain-based smart contracts: A systematic mapping study of academic research | Alharby et al. | IEEE ICCBB | 2018 | Vulnerabilities, Applications, Challenges | Ethereum, Bitcoin, Nxt |
Evaluation of tools for analyzing smart contracts in distributed ledger technologies | Kirillov et al. | ICCSA | 2019 | Vulnerabilities, Verification tools | Ethereum |
Blockchain smart contracts formalization: Approaches and challenges to address vulnerabilities | Singh et al. | Computers & Security | 2020 | Formal models, Modeling languages, Programming languages, Verification tools | Ethereum, Bitcoin, etc. |
Empirical review of automated analysis tools on 47,587 Ethereum smart contracts | Durieux et al. | IEEE/ACM ICSE | 2020 | Verification tools, Benchmark | Ethereum |
Towards principled compilation of Ethereum smart contracts (SoK) | Arias | IFIP NTMS | 2019 | Challenges | Ethereum |
A large-scale empirical study on control flow identification of smart contracts | Chen et al. | ACM/IEEE ESEM | 2019 | Verification tools | Ethereum |
Smart contract development from the perspective of developers: Topics and issues discussed on social media | Ayman et al. | FC | 2020 | Developer discussions, Vulnerabilities, Verification tools | Ethereum |
Smart contract security: A software lifecycle perspective | Huang et al. | IEEE Access | 2019 | Vulnerabilities, Verification tools, Challenges | Ethereum, Hyperledger Fabric |
Step by step towards creating a safe smart contract: Lessons and insights from a cryptocurrency lab | Delmolino et al. | FC | 2016 | Vulnerabilities | Ethereum |
A unifying model of legal smart contracts | Ladleif and Weske | ER | 2019 | Formal models, Modeling languages, Challenges | Ethereum, Bitcoin, etc. |
Understanding the software development practices of blockchain projects: A survey | Chakraborty et al. | ACM/IEEE ESEM | 2019 | Human study, Software development, Verification techniques | Ethereum, Bitcoin, Hyperledger Fabric, Monero, etc. |
Security vulnerabilities in Ethereum smart contracts | Mense and Flatscher | ACM iiWAS | 2018 | Vulnerabilities, Verification tools | Ethereum |
Lessons learned from implementing a privacy-preserving smart contract in Ethereum | Unterweger et al. | IFIP NTMS | 2018 | Privacy | Ethereum |
An analysis of smart contracts security threats alongside existing solutions | López Vivar et al. | Blockchain: Security, challenges, and opportunities | 2020 | Vulnerabilities, Attacks, Verification tools | Ethereum |
Defining smart contract defects on Ethereum | Chen et al. | IEEE TSE | 2020 | Vulnerabilities, Challenges, Human study | Ethereum |
Characterizing types of smart contracts in the Ethereum landscape | di Angelo and Salzer | FC | 2020 | Smart contract types, Account behavior, Code variety | Ethereum |
Wallet contracts on Ethereum | di Angelo and Salzer | arXiv | 2020 | Smart contract types, Account behavior, Wallet | Ethereum |
Characterizing EOSIO blockchain | Huang et al. | arXiv | 2020 | Account behavior, Vulnerabilities, Attacks, Challenges | EOS.IO |
A behavior-aware profiling of smart contracts | Wei et al. | SecureComm | 2019 | Smart contract types, Account behavior, Challenges | Ethereum |
What are the actual flaws in important smart contracts (and how can we find them)? | Groce et al. | FC | 2020 | Vulnerabilities, Verification tools | Ethereum |
Traveling the token world: A graph analysis of Ethereum ERC20 token ecosystem | Chen et al. | WWW | 2020 | Smart contract types, Account behavior, ERC20 | Ethereum |
Why do smart contracts self-destruct? Investigating the Selfdestruct function on Ethereum | Chen et al. | arXiv | 2020 | Vulnerabilities, Account behavior | Ethereum |
How effective are smart contract analysis tools? Evaluating smart contract static analysis tools using bug injection | Ghaleb and Pattabiraman | ACM ISSTA | 2020 | Vulnerabilities, Verification tools | Ethereum |
Smart contract vulnerabilities: Does anyone care? | Perez and Livshits | arXiv | 2020 | Vulnerabilities, Verification tools | Ethereum |
Ethereum smart contracts verification: A survey and a prototype tool | Bogdanich Espina | Bachelor's Thesis | 2020 | Verification tools | Ethereum |
Potential risks of Hyperledger Fabric smart contracts | Yamashita et al. | IEEE IWBOSE@SANER | 2019 | Vulnerabilities | Hyperledger Fabric |
Survey of formal verification methods for smart contracts on blockchain | Murray and Anisi | IFIP NTMS | 2019 | Verification tools | Ethereum |
A survey of attacks on Ethereum smart contracts | Atzei et al. | POST | 2017 | Vulnerabilities, Attacks | Ethereum |
Foundations and tools for the static analysis of Ethereum smart contracts | Grishchenko et al. | CAV | 2018 | Verification tools, Programming languages, Challenges | Ethereum |