区块链是安全的,但在区块链上运行的应用程序并非一定安全。对于加密用户而言,在投资新的 DeFi 项目时,智能合约审计不可或缺。它已经成为了重要项目的标准。某些审计机构也成为了行业领导者,提高了其审计工作在投资者眼中的价值。
区块链应用程序通过智能合约与区块链进行信息交互,与任何其他软件一样,代码缺陷可能导致安全漏洞。然而与大多数其他软件不同之处是,区块链应用程序通常直接控制金融资产,软件缺陷可能导致大量金钱损失。为了确保区块链应用程序安全,需要对智能合约进行安全审计,以检查出代码缺陷和安全漏洞。
为什么需要智能合约审计?
大量的价值通过智能合约进行交易或锁定在智能合约中,它们极易成为黑客攻击的目标。即使小小的编码错误也可能导致巨额资金被盗。例如,以太坊区块链上的 DAO 黑客攻击夺走了价值约 6000 万美元的以太币,甚至导致了以太坊网络硬分叉。
由于区块链交易无法撤销,因此确保项目代码的安全至关重要。区块链技术的高度安全性使得事后难以取回资金和解决问题,因此最好不惜一切代价预防可能出现的漏洞。
智能合约审计是如何运作的?
-
将智能合约提供给安全审计机构进行初步分析。
-
审计机构将他们的发现提交给项目方,供其采取行动。
-
项目方根据发现的问题进行修改。
-
审计机构会将新的修改和悬而未决的错误考虑在内,然后发布最终报告。
智能合约都审计什么?
1、合约漏洞
审计中的大部分工作涉及检查合约的安全漏洞。虽然一些问题很容易看到,但许多漏洞运用了先进的技术和策略来抽走资金。例如,市场操纵可以结合弱势智能合约进行闪电贷款攻击。为了发现这些问题,审计员会开始破译测试过程,模拟对智能合约的恶意攻击。常见漏洞包括:
-
可重入性问题:当一个智能合约在任何影响得到解决之前对另一个外部合约进行外部调用。然后,由于该原始合约的余额尚未更新,外部合约可以递归调用该原始智能合约并以它不应该有的方式与之交互。
-
整数上溢和下溢:智能合约进行算术运算,但输出超过了存储容量(通常是小数点后 18 位)时。这可能导致计算金额出错。
抢先交易机会:结构不良的代码可以为市场的购买或销售提供预警。这反过来又会使其他人利用这些信息,为谋取私利而开展交易。
2、平台安全漏洞
大多数审计包括查看托管合约的网络,甚至还包括用于与 DApp 交互的 API。如果一个项目可能容易受到 DDoS 攻击,或者其网站 UI 遭到破坏,这意味着用户实际上会将他们的钱包连接到恶意的区块链应用程序。
3、燃料效率
智能合约审计并不只关注区块链安全,还着眼于效率和优化。有些合约会通过一系列复杂的交易来完成预期功能。由于以太坊这样的网络燃料费用相对较高,高效的合约可以节省大量交易成本。
优化其性能也是开发人员的一项技能指标。低效的步骤会存在更多的故障点,应尽量避免。燃料成本很高时,智能合约可能无法执行,使用燃料低成本限制时更是如此。
什么是审计报告?
审计报告是安全审计结束时出具的报告。为了提高透明度,项目组应与社区分享其发现。大多数报告会按严重程度对问题进行分类,如严重、重大、轻微等。报告还会将问题的状态列出,因为在最终报告发布前,项目仍会有时间来解决这些问题。
除执行摘要外,标准报告还将包含建议、冗余代码示例以及编码错误所在位置的完整细节。在最终版本发布之前,该项目有时间对报告的调查结果采取行动。
哪里提供智能合约审计?
许多智能合约审计服务机构已经因服务出众而声名鹊起。区块链导航也收录了区块链领域比较知名的多家安全审计机构。
比如:
CertiK
在智能合约审计方面,CertiK 是行业领导者。成百上千个项目已经通过他们对智能合约进行了审计。BSC 最大的自动化做市商 (AMM) PancakeSwap 就是其中一个例子。
ConsenSys Diligence
ConsenSys 由以太坊联合创始人 Joseph Lubin 经营,是加密货币行业在区块链开发方面的知名品牌之一。在 ConsenSys Diligence,该公司提供以太坊智能合约审计。他们还提供自动化服务,以检查以太坊虚拟机(EVM) 合约中常见的错误。
智能合约的审计费用是多少?
确切的审计费用取决于需要检查的智能合约数量。通常情况下,审计费用约达数千美元。若是特定的大型项目,费用则很容易超过 10,000 美元。负责审计工作的审计公司及其声誉也会影响到您要支付的费用。