中文

智能合约中心化缺陷的定义与检测

软件工程 2024-11-18 v1

摘要

近年来,源于智能合约中心化缺陷的安全事件导致巨额财务损失。中心化缺陷指智能合约设计或开发阶段引入单点故障的任何错误、缺陷或故障。此类缺陷允许特定账户或用户干扰智能合约的正常运行,可能导致故障甚至项目完全关闭。尽管该问题意义重大,当前大多数智能合约分析忽略中心化缺陷,主要关注其他类型缺陷。为填补这一空白,我们通过人工分析 597 条 Stack Exchange 帖子和 117 份审计报告,提出智能合约中的六类中心化缺陷。对每类缺陷提供详细描述和代码示例,阐释其特征与潜在影响。此外,我们推出名为 CDRipper(中心化缺陷提取器)的工具,用于识别所定义的中心化缺陷。具体而言,CDRipper 从智能合约源代码构建权限依赖图(PDG)并提取函数的权限依赖,随后检测函数中的敏感操作,基于预定义模式识别中心化缺陷。我们在 244,424 份真实智能合约上进行大规模实验,并基于人工标注数据集评估结果。结果显示 82,446 份合约至少包含一种中心化缺陷,工具总体精确率达 93.7%。

关键词

引用

@article{arxiv.2411.10169,
  title  = {Definition and Detection of Centralization Defects in Smart Contracts},
  author = {Zewei Lin and Jiachi Chen and Jiajing Wu and Weizhe Zhang and Zibin Zheng},
  journal= {arXiv preprint arXiv:2411.10169},
  year   = {2024}
}