智能合约1995年由跨领域法律学者尼克萨博提出,是对现实中的合约条款执行电子化的量化交易协议。智能合约设计的总体目标是满足常见的合约条件(如支付条款、留置权、机密性以及执行等),以及最大程度地减少恶意和偶然地异常,最大限度地减少对可信中介的依赖。智能合约已经在电子投票和供应链管理等很多领域得到应用,并且前景广阔。

然而,对于智能合约这项新技术而言,其本身也存在一定的安全风险。目前智能合约已经发生过重大安全事件,黑客手法是利用漏洞入侵系统,进而对智能合约用户造成巨大损失。其中较为严重的两大事件有:

1、Bitfinex在8月2日凌晨发布公告,发现了安全漏洞。该漏洞导致bitfinex全面停止交易,这将导致每位用户的账户平均损失36%。

2、黑客智能合约存在的漏洞攻击The Dao,造成价值逾5000万美元的损失。ETH市场价格从记录高位21.50美元跌至15.28美元。

由此可见,对于智能合约这项新技术并非没有挑战。那么,该如何保障智能合约的安全性呢?其中一个解决方案就是对智能合约进行合适的审计,以确保不存在安全问题,并确保所有合约得到高效的执行。

目前智能合约存在的四大安全风险:

1隐私泄露

智能合约对区块链上的所有用户可见,包括但不限于标记为private的资源,存在造成隐私信息泄露的风险。

2交易溢出与异常

由于智能合约本身的约束条件,如条件竞争、交易顺序依赖等,可能会造成交易溢出与异常。

3合约故障

由于智能合约代码中可能存在不合理的故障处理机制,从而导致异常行为。

4拒绝服务

由于各种原因导致的拒绝服务风险。

针对以上四大问题,目前知道创宇给出了四大解决方案:

1、函数可见性审核,包括:

a) 敏感函数继承权限检测;

b) 函数调用权限检测。

2、合约限制绕过审核,包括:

a) 使合约失效,删除地址字节码;

b) 将所有合约资金发送到一个目标地址。

3、调用栈耗尽审核,包括:检测栈高度限制,是否出现栈耗尽情况。

4、拒绝服务审核,包括:过多货币交易发生异常,导致交易回滚,最终导致合约拒绝服务。

声明:本文来自知道创宇云安全club,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。