如果智能合约的表现差强人意,那您的ICO智能合约是否还安全可靠

文|李伟志

        智能合约蕴含着巨大潜力,这项新技术可用于身份验证、确保数据共享安全及在ICO或代币销售中管理代币和募集资金,但您的智能合约有多聪明?

        以太坊网络有逾1500个分散式应用程序(dApps),所有这些应用程序都使用了智能合约来完成各种任务。但智能合约的问题在于它是基于代码的,因此在本质上容易出错,且其中一些错误示非常致命的。

        智能合约基础知识

        简而言之,智能合约是一组代码,只要符合合同规则,哪怕没有第三方的介入,该代码也可自动执行。这与纸质合同大有不同,因为纸质合同始终由第三方强制执行。

        但是,也由于智能合约是基于代码的,它容易出现错误、漏洞和缺陷,而这些问题会使资金面临被盗和操纵的风险。

        当智能合约的表现差强人意时

        最中心化自动组织(DAO)的智能合约代码低级、臭名昭著,是智能合约表现差强人意的典例,该智能合约旨在资助而不受个人或组织操控的加密货币项目。从本质上讲,DAO代币持有人获准对那些值得资助的项目进行投票,这导致在悲剧发生之前代币持有人共购买了2.5亿美元的以太币。

        有问题的代码的两个部分是造成大肆宣传的DAO项目的崩溃的罪魁祸首,这导致以太坊区块链中的一个有争议的硬分叉进入以太坊经典。

        负责的两个职能是splitDAO和withdrawRewardFor,尽管它们本身并不脆弱。然而,黑客可将400万以太币窃取一空。因此,以太坊社区或多或少会被迫对其区块链进行部分攻击,然后重新进行编写,从而营造出资金从未失窃的假象。

        在Parity使用的智能合约中发现了另一个最新漏洞。使用有问题的智能合约后导致损失50万以太(价值高达1.69亿美元),70个钱包遭到冻结,资金也洗劫一空。

        实际上,Parity已承认在漏洞发生之前的几个月收到过此类警告,但并未解决该问题,后来表示:“但我们坚信,不仅需要进行更多的审计,而且需要在部署、监控和合同测试方面多下功夫,采用更为广泛和正式的程序与工具来确保安全性。我们认为整个生态系统迫切需要这样的程序和工具来防止类似问题再次发生,特别是在使用中的合同数量和复杂性不断增加的情况下。”

        2017年6月,由于智能合约漏洞,Parity再次遭到黑客入侵,导致15万以太币失窃。

        基于以太坊的智能合约有何不妥?

        以太坊的主要问题在于它主要使用Solidity这种高级编码语言编写,因此,许多程序员必须学习一种全新的编码语言,这会增加人为错误的机会。

        遗憾的是,许多新项目缺乏正确审核其智能合约的经验和时间。这就是COINAdmin等解决方案的用武之地,它有助于完成和随后审核智能合约,并验证代码有无漏洞。

你可能感兴趣的:(如果智能合约的表现差强人意,那您的ICO智能合约是否还安全可靠)