Smart contracts are Turing-complete programs running on the blockchain. They are immutable and cannot be modified, even when bugs are detected. Therefore, ensuring smart contracts are bug-free and well-designed before deploying them to the blockchain is extremely important. A contract defect is an error, flaw or fault in a smart contract that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Detecting and removing contract defects can avoid potential bugs and make programs more robust. Our previous work defined 20 contract defects for smart contracts and divided them into five impact levels. According to our classification, contract defects with seriousness level between 1-3 can lead to unwanted behaviors, e.g., a contract being controlled by attackers. In this paper, we propose DefectChecker, a symbolic execution-based approach and tool to detect eight contract defects that can cause unwanted behaviors of smart contracts on the Ethereum blockchain platform. DefectChecker can detect contract defects from smart contracts bytecode. We compare DefectChecker with key previous works, including Oyente, Mythril and Securify by using an open-source dataset. Our experimental results show that DefectChecker performs much better than these tools in terms of both speed and accuracy. We also applied DefectChecker to 165,621 distinct smart contracts on the Ethereum platform. We found that 25,815 of these smart contracts contain at least one of the contract defects that belongs to impact level 1-3, including some real-world attacks.


翻译:智能合同 是一个错误、 缺陷或错误, 导致智能合同产生不正确或意外的结果, 或以意想不到的方式行事。 检测和清除合同缺陷可以避免潜在的错误, 使程序更加稳健。 我们先前的工作为智能合同确定了20个合同缺陷, 并将它们分为5个影响级别。 根据我们的分类, 1-3 之间的严重程度的合同缺陷可能导致不想要的行为, 例如, 由攻击者控制的合同。 在本文中, 我们建议 DefectChuter, 一种象征性的执行方法和工具, 以检测8个合同缺陷, 导致Etheem 链平台上出现不正确或意外的结果, 或者以意外的方式行事。 检测和清除合同缺陷可以避免潜在的错误, 使程序更加稳健。 我们比较了智能合同中的20个缺陷, 并将其分为5个影响等级。 根据我们的分类, 1-3 之间的严重性合同缺陷可能导致不必要行为, 例如, 由攻击者控制的合同, 例如, 由攻击者控制合同中的智能标准 。

0
下载
关闭预览

相关内容

专知会员服务
54+阅读 · 2021年5月4日
专知会员服务
38+阅读 · 2021年3月3日
注意力机制综述
专知会员服务
80+阅读 · 2021年1月26日
专知会员服务
17+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
【新书】Python编程基础,669页pdf
专知会员服务
186+阅读 · 2019年10月10日
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
carla 体验效果 及代码
CreateAMind
7+阅读 · 2018年2月3日
carla无人驾驶模拟中文项目 carla_simulator_Chinese
CreateAMind
3+阅读 · 2018年1月30日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
Arxiv
6+阅读 · 2021年3月11日
VIP会员
相关VIP内容
相关资讯
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
carla 体验效果 及代码
CreateAMind
7+阅读 · 2018年2月3日
carla无人驾驶模拟中文项目 carla_simulator_Chinese
CreateAMind
3+阅读 · 2018年1月30日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
Top
微信扫码咨询专知VIP会员