Smart contracts are programs that are deployed and executed on the blockchain. Typically, smart contracts govern assets; popular smart contracts can govern assets worth millions. Just like traditional programs, smart contracts are subject to programming mistakes. However, a major difference is that smart contracts cannot be patched once deployed. Several approaches have been studied to improve smart contract security, by detecting bugs prior to deployment, allowing contracts to be updated, or modifying clients to prevent attacking transactions. The most elegant solution would be to automatically eliminate bugs prior to deployment. Merely identifying bugs is not enough. This became evident when the Parity wallet was hacked a second time after being manually patched following a security audit. Automatic pre-deployment patching offers a powerful promise to strengthen smart contract defenses. Current approaches are limited in the types of vulnerabilities that can be patched, in the flexibility of the patching process, and in scalability. In this paper we propose Elysium, a scalable approach towards automatic smart contract repair, that combines template-based patching with semantic patching by inferring context information from the bytecode. Elysium can currently automatically patch 7 known vulnerabilities in smart contracts using external bug-finding tools, and it can easily be extended with new templates and new bug-finding tools. We evaluate effectiveness and correctness of Elysium using 3 different datasets by replaying more than 500K transactions against patched contracts. We find that Elysium outperforms existing tools by patching at least 30% more contracts. Finally, we compare the overhead in terms of deployment and transaction cost increase. In comparison to other tools, Elysium minimizes transaction cost (up to a factor of 1.9), for only a marginally higher deployment cost.


翻译:智能合同通常是在链链上部署和执行的程序。 通常, 智能合同是用来管理资产的。 普通情况下, 智能合同是用来管理资产; 大众智能合同可以管理价值数百万的资产。 就像传统程序一样, 智能合同也会受到编程错误的影响。 但是, 重大区别在于智能合同一旦部署后无法补补补。 已经研究了几种方法来改善智能合同安全, 在部署前发现错误, 允许更新合同, 或者修改客户以防止交易。 最优的解决方案是自动消除在部署之前的错误。 仅仅识别错误是不够的。 当Paity 钱包在安全审计后手工补足后第二次被黑入时, 这一点就变得很明显了。 自动部署前补补补提供了加强智能合同防御的有力承诺。 目前的方法在易补补, 在部署过程的灵活度上, 或缩放性 。 在本文中,我们提出“ 精密性合同”, 一种通缩性方法将基于模板的补补补码方法, 将基于模板的补补码工具与从前编码中推断的背景信息合并起来。 。 Elyiredial deal devalal ladeal ladeal la ladeal ladeal lades 30 lade lade lade lade la la lax lax lax lax lax lax

0
下载
关闭预览

相关内容

神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
计算机类 | ISCC 2019等国际会议信息9条
Call4Papers
5+阅读 · 2018年12月25日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | LICS 2019等国际会议信息7条
Call4Papers
3+阅读 · 2018年12月17日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
【推荐】GAN架构入门综述(资源汇总)
机器学习研究会
10+阅读 · 2017年9月3日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年6月25日
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
VIP会员
相关VIP内容
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
计算机类 | ISCC 2019等国际会议信息9条
Call4Papers
5+阅读 · 2018年12月25日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | LICS 2019等国际会议信息7条
Call4Papers
3+阅读 · 2018年12月17日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
【推荐】GAN架构入门综述(资源汇总)
机器学习研究会
10+阅读 · 2017年9月3日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员