编者按:本文来自36氪战略合作区块链媒体“Odaily星球日报 ”(公众号ID:o-daily,APP下载)
“智能合约”区块链项目的重要部分,合约中的漏洞若被作恶者利用,将导致token被盗且往往无法收回,而错误代码的执行,也会给社区带来损失。
最近安全公司Hosho称,在他们所审查过的项目中1/4存在严重错误,约有60%至少存在一个安全问题。同时指出,由专门从事智能合约审计的第三方对智能合约代码进行审计,虽然不能万无一失,但能减少代码错误漏洞。
什么是智能合约审计?
智能合约审计其实就是仔细研究代码的过程,即把合约部署到以太坊(假设此项目是运行在以太坊上的)主网络中,并对其进行错误、漏洞和风险等方面的审查,然后讨论如何改进。因为一旦发布,这些代码将无法再被修改。值得注意的是审计并不是验证代码安全的法律文件,仅仅表示你的代码已被专家校订过,基本上是安全的。没有人能100%确保代码不会在未来发生错误或产生漏洞。
为了检查合约的安全性,一般会测试多种攻击,以确保合约是否安全。如重入攻击(Reentrancy attack)、数值溢出(Over and under flows)、重放攻击(Replay attack)、重排攻击(Reordering attack)、短地址攻击(Short address attack)。
目前国内提供智能合约审计服务的公司比较出名的是知道创宇,但它除了智能合约审计之外还有其他安全方面的产品和服务。国外则已经衍生出了这一专门的领域,如前文所提到的Hosho公司就是专门做智能合约审计的。相信随着智能合约的增多乃至未来可能的大规模发展,对各种合约代码的审计会成为一个专业的不可忽视的领域。