智能合约也有它的缺点。智能合约不可篡改的属性,很容易建立起信任。但同时也有不好的一面,如果智能合约存在漏洞,黑客可以利用智能合约的漏洞,为自己牟利。
举个简单的例子,一台自动售货机,本来售价是5块的饮料,由于疏忽,写成了5毛钱,管理员发现之后,可以立刻改正。但如果这台售货机调用的是区块链上的智能合约,那么这个错误将无法修改,直到里面饮料卖完。
另一方面,智能合约本身无法感知外部的信息,涉及到需要外部信息才能裁决合约,需要对其写入相关信息,它才能作出裁决。比如熊大和熊二打赌明天是否下雨的例子,智能合约本身是不知道第二天是否下雨了没,需要通过其他信息源为它提供信息,比如中央气象台数据,哟了这个信息之后,智能合约才能做出裁决。
就目前情况来说,智能合约的安全性跟溯源性还是不能够实现。当然除了编程智能合约的人员,还有一个叫做去中心化的组织,俗称DAO,也都会慢慢完善起来的。
从上面两点看,智能合约既不完美也不智能。