AI summary · arXiv: 2208.00758v1 · cs.LO

Finding smart contract vulnerabilities with ConCert's property-based testing framework

Mikkel Milo, Eske Hoy Nielsen, Danil Annenkov, Bas Spitters

Original paper · DOI Submitted to arXiv on 01 Aug. 2022 FMBC: Formal Methods for Blockchains, 2022 License: CC BY 4.0

How to read this summary? Illustrated guide

The essentials

  • The paper presents an approach to testing and verifying smart contracts using the ConCert Coq framework.
  • The authors provide three case studies of vulnerabilities in smart contracts that could have led to millions of dollars stolen or frozen.
  • Property-based testing would have found these vulnerabilities and also discovered new bugs.
  • The approach is not limited to specific examples but can be applied more broadly to real-world contracts, including reference implementations of popular token standards like ERC-20 and FA2 Token Standards used across multiple blockchains.
  • By combining auditing, testing, and verification techniques, they provide a toolchain for producing executable code for smart contracts that are tested and verified.
  • The ConCert framework provides a general executable model/specification of smart contract execution in the Coq proof assistant.
  • ConCert contracts can be used to generate verified smart contracts in Tezos' LIGO and Concordium's Rust language.
  • Formal verification and property-based testing of smart contracts is starting to be recognized by the industry as important for improving security in blockchain technology.

Key points written by AI: they may contain errors, check them against the paper.

AI-generated keywords: Smart Contracts Property-Based Testing ConCert Coq Formal Verification Security

Read further

  • Comprehensive Summary
  • Layman's Summary
  • Blog article
  • Original abstract
In their paper, "Finding smart contract vulnerabilities with ConCert's property-based testing framework," Mikkel Milo, Eske Hoy Nielsen, Danil Annenkov, and Bas Spitters present a comprehensive approach to testing and verifying smart contracts using the ConCert Coq framework. The authors demonstrate the effectiveness of their approach by providing three detailed case studies of vulnerabilities in smart contracts: the Dexter1 token exchange, the iToken, and the ICO of Brave's BAT token. They show how property-based testing would have found these vulnerabilities and also discovered new bugs that could have led to millions of dollars stolen or frozen. The authors emphasize that their approach is not limited to these specific examples but can be applied more broadly to real-world contracts. They mention re-discovering several bugs in real-world contracts such as the $50 million "DAO attack" on Ethereum and tested reference implementations of ERC-20 and FA2 Token Standards used in several blockchains. By combining auditing, testing, and verification techniques, they provide a toolchain for producing executable code for smart contracts that are tested and verified. The ConCert framework provides a general executable model/specification of smart contract execution in the Coq proof assistant. ConCert contracts can be used to generate verified smart contracts in Tezos' LIGO and Concordium's Rust language. The authors highlight the importance of combining formal verification and property-based testing of smart contracts which is starting to be recognized by the industry. Overall, this paper presents an innovative approach for testing and verifying smart contracts that has significant implications for improving security in blockchain technology. It combines auditing techniques with formal verification methods to create a toolchain for generating secure executable code for various types of blockchain applications. This approach has already been proven effective at finding bugs in existing real-world projects such as Ethereum's DAO attack as well as reference implementations of popular token standards like ERC-20 and FA2 Token Standards used across multiple blockchains. As recognition from industry professionals continues to grow regarding the importance of combining formal verification with property-based testing when developing secure blockchain applications, this paper serves as an important resource for understanding best practices when it comes to ensuring safety within this rapidly evolving space.

Was this synthesis useful?

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

Figures and plots

Ask about a figure by number or use its question button to request visual analysis. Up to two figures and four image panels per question. Values read from plots are approximate; check the original data.

AI assistant instructions?

Tools for this paper

Explain it differently 3 free rewrites left today
Save to a collection Group papers in collections to compare them, chat with them and export them. Create a free account Log in

Advanced tools Premium

For researchers who follow a field closely: citation alerts, journal-club slides, version comparison and Zotero export. Discover Premium

Zotero
Citation alerts Citation alerts guide
Journal club Premium+ Slides to present it

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

The previous summary was created more than a year ago and can be re-run (if necessary) by clicking on the Run button below.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.