本文研究了在类似于加密货币的开放分布式网络中运行Ethereum智能合约的安全性。我们引入了几个新的安全问题,在这些问题中,对手可以通过巧妙地执行合约来获取利润。这些bug表明,在理解底层平台的分布式语义方面存在细微的差异。作为一种改进,我们提出了增强Ethereum操作语义的方法,使合约不那么脆弱。对于为现有Ethereum系统编写契约的开发人员,构建了一个名为Oyente的符号执行工具,以发现潜在的安全bug。讨论了几个具有源代码的案例研究的攻击严重性,并在主要的Ethereum网络中确认了攻击。
1