学习
实践
活动
工具
TVP
写文章

智能合约很好,但也很致命!

编辑:cheekma

现在的一个区块链可以说是鱼龙混杂,很多人也借助着区块链这个风口,发行ICO,到处非法集资,骗取韭菜的钱。许多数字货币的发行项目方,白皮书淘宝买的(还存在错别字)、项目团队(要么没有,要么别人的开源代码直接CTRL+C 、CTRL+V),靠一张嘴说,勾画出未来的美好蓝图,给投资者画一个大饼。投我的项目未来的几年可以翻几倍甚至几百倍,财富自由,人生巅峰,这对很多人很受用,就傻傻的被人骗了。

一个项目抄好了以后,第一步就是ICO,ICO完了以后要么卷钱跑了,如果还想再玩一会儿,那么就投个几千万上几个交易所呗,然后继续坑韭菜们。项目落地什么的就不用去指望了,但是好歹你抄代码的时候也要检查一下有没什么BUG。数字货币的不断升值,黑客也就盯上了这块肥肉,攻击交易所、撸BUG,然后韭菜币民们就在恐慌中被一割再割。

智能合约很好的解决了数字货币之间的转换功能,使得币币交易得以施展开,但是这也造成了巨大的安全隐患。随着那些好的项目代码的开源,很多项目方就趁机抄代码,发山寨币捞钱,根本不会去检查有没漏洞,然后黑客一找到漏洞就往死里撸币,捅一个大窟窿,又要市场一起来承担。

区块链2.0项目把区块链技术带入了智能合约时代,但是智能合约自身的正确性和安全性却面临着巨大的问题。

(一)SMT项目方与美国BEC代币的安全漏洞

2018年4月25日凌晨,SmartMesh(SMT)项目方反馈发现其交易存在异常问题,经初步排查,SMT的以太坊智能合约存在漏洞。受此影响,火币Pro目前暂停所有币种的充提币业务。

另据媒体报道,发现SMT与美图BEC代币存类似的安全漏洞,即可通过溢出攻击可以收到大量的代币。

(二)美图BEC的异常交易漏洞

2018年4月22日,美图BEC出现异常交易,据分析,BEC 智能合约中的batchTransfer批量转账函数存在漏洞,攻击者可传入很大的value数值,使cnt * value后超过unit256的最大值使其溢出导致amount变为0。

(三)Parity多签名钱包漏洞

2017年7月,Parity多签名钱包由于其智能合约代码中存在漏洞,被黑客盗取时价超过3000万美金的ETH。

(四)黑客盗币漏洞

2016年6月由于智能合约的一个错误,黑客从DAO偷走了价值5500万美元的ETH。

区块链智能合约通过代码建立一套“法律合同”,软件工程师创造一个完全无误差的代码是不可能的,程序员总存在疏忽的地方。红岸科技和国防科技大学的Ulord区块链项目研究团队对市面上的区块链智能合约进行了审计,他们的研究发现:

对所有的程序员来说,写一个没有bug的代码实在是太难了,即使采取了所有可能的预防措施,在复杂的软件中也总会出现没有预料到的执行路径或可能的漏洞。

区块链中的 “法律合同”是一项受解释和仲裁的约束,程序员很难去创造一个缜密的合约。在任意一个大的合约里,可能出现的文稿错误以及一些条款需要解释和仲裁。

在区块链领域从事代码审计业务的项目公司较少,目前每个代币在上交易所之前,其区块链智能合约代码由交易所进行审察和判定,但交易所有时并不能完全有效地判断合约是否完美。

智能化代码审计,利用计算机进行稳健性检验是当前代码审计最重要的方式,掌握该项技术标准的国内公司并不多。

但区块链代码审计的重要性不言而喻,区块链世界本身是相当安全的,但是由于人为撰写代码的问题,不可能完美,必须加强代码有效性的识别。

区块链头条

为你呈上行业第一手资讯

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180430G0ELO800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券