智 能 合 约 不 智 能
昨日,EDU 智能合约出现漏洞,可转走任意账户的 EDU Token。目前发现有大量洗劫行为,攻击者不需要私钥即可转走你账户里所有的 EDU,并且由于合约没有 Pause 设计,导致无法止损。
EDU(educoin)是针对教学内容分享,教学服务消费与提供,教学产品技术分享,教学质量监控评估而设计的数字货币体系。昨日火币宣布暂停EDU交易。
在 EDU 智能合约中存在一个 TransferFrom 函数,该函数缺少 Safemath 验证,可以让攻击者从任何一个 EDU 余额不为 0 的账号内向另外一个账号转出 EDU Token,也可以理解为可以从智能合约里偷币。
与此同时,今日凌晨,BAIC社区发布公告,发现BAI交易存在大量异常问题,并有若干BAI持仓账户出现异常转出情况,同样情况也出现在其他一些ERC20项目上。为保护持币人利益,项目方决定立即暂停所有交易所BAI的交易。
以太坊智能合约出现Bug的新闻在不断曝光,就在今年4月27日,OKEx,Poloniex,Coinone和Hitbtc等多家交易所就曾经宣布暂停ERC20存款。
其实以太坊智能合约出现漏洞引发的安全事件并不鲜见。
2016年6月,TheDAO遭到攻击,导致300多万以太坊损失;
2017年7月,以太坊钱包Parity被盗,导致15万以太坊损失;
2017年11月,Parity钱包再次出现bug;
2018年4月,有黑客利用以太坊 ERC-20智能合约中BatchOverFlow漏洞攻击BEC智能合约,成功向两个地址转出了天量级别的 BEC代币,导致市场上海量BEC被抛售。此事使得当日BEC的价值几乎归零。64亿人民币瞬间蒸发。
仅仅三天后,另一个智能合约SmartMesh(SMT)曝出漏洞,交易所表示,因SMT出现异常交易,各交易平台暂停SMT的充提和交易。
这些年来,保守估计,黑客已累计从漏洞中获利超过数十亿美元。而造成如此大损失的原因仅仅是程序编写者自身不严谨,导致黑客有机可乘。
为 何 漏 洞 频 出
智能合约,是指以数字形式定义的承诺,合约参与方可以在上面执行这些承诺的协定。
简单来说,就是利用区块链的技术,大家共同约定,当一定条件被满足的情况下,可以被自动执行的合约。目前区块链最常用的智能合约平台是以太坊,谁都可以根据以太坊的ERC20标准分发代币。
现实世界里,财物失窃尚能够通过立案侦查追回损失。但是在互联网的世界里,尽管数字货币“钱途”无量,一旦被黑却血本无归,导致价值上亿美元的以太坊资产被冻结。
ERC20 作为一种智能合约的标准模版,为以太坊上的 Token 合约提供了一个特征与接口的共同标准,用户不必编写智能合约,只需做少量的代码修改、调整参数即可发布自己的 Token,这也是为什么很多程序员、小白蜂拥去发 ERC20 Token的原因。
但为什么从2015年正式发布以来,以太坊就频繁发生资产被盗等安全事件?
之所以如此多的智能合约出现同类漏洞,其背后是混乱的数字代币发行现状。
尽管国内早已严格禁止ICO(数字货币发行),但这反而让一些“有心人”在国外找到了躲避监管的方式,而通过智能合约发行代币的代价,已经低之又低。
一个程序员只要花5分钟,从网上抄一些智能合约代码,稍做修改,就可以发行一个代币。如果再写个白皮书,找几个知名顾问站台,就可以在数字货币交易所里发行几千万甚至上亿的项目。
由于这些数字货币交易所注册在海外,国内很难对其进行监管,因此显而易见的是,上交易所发行代币变得越来越容易,以往对发币团队相对严格的审核,现在都被有意无意地忽略了。
既没有交易所的监管,又抱着“一夜暴富”的期待,这些发币团队的技术实力、对安全的防范意识,自然很难得到保证。
好的代码应当经过非常严格的测试,倘若投资者无从判断代币发行团队的水准,就要尽可能选择相对主流的币,或者经过一段时间市场考验的币来进行投资。但是在数字货币的世界里,各种漏洞都潜伏其中,投资者需要做好漏洞随时暴露的心理准备,同时,平台自身的资质,也是投资者需要仔细考虑的重要因素。
有 没 有 解 决 方 案
此次ERC20智能合约漏洞导致 20 亿枚 EDU Token被窃取,虽然项目方第一时间终止了EDU的交易,之后黑客的账户无法再进行提币操作,但是黑客已经套出了超过 1000 个以上的比特币,其账户内的比特币依旧可以进行市场交易。
紧接着,黑客利用本地交易所抛售比特币引发市场波动,同时跨交易所进行期货做空交易。
根据火币显示,23 日 23:30到 24 日 1 :30,共计交易了约 4300 枚比特币,其中就包括黑客手上这 1000 枚可流动的比特币。比特币价格在 23 点 30 分开始暴跌,从 7880 跌到 7400 美元,2 小时内跌幅达到 6%。
不得不提的是,如果黑客利用智能合约漏洞就能轻易地获取大量代币,然后将其放到市场交易,这将对代币的价格产生很大影响,甚至损害以太坊生态系统的信任。
而且随着EOS等竞争对手的入局,下一代区块链竞争正迅速升温,智能合约漏洞或许将成为以太坊无法承受的负担。
如何解决或规避智能合约Bug已成为重点关注对象。
现在发现的漏洞中有很多代码是因为缺少溢出判断导致的,比如BEC、SMT,这可以通过彻查智能合约代码,使用Lipary SafeMath解决数据溢出问题。而这些代码漏洞几乎都是程序开发者的疏忽导致的。
要解决这些问题,一方面,需要项目方重视代码的安全性;另一方面,现在的代币项目方很需要安全专家来审查他们的智能合约代码是否足够安全。
另外,现在项目方也在尝试推出激励活动,鼓励黑客向项目方汇报漏洞而不是为自己谋利。但是很多这样的项目还处在初期阶段,以太坊和其他的加密货币,现在仍然是黑客的天堂。
区块链开发者还面临很多新的风险,需要时刻做好准备。最重要的就是有警觉心,不要相信任何人。
--- end ---
后台回复“合集”,可获取包括ETH、EOS、SNT在内的20份经典白皮书。
后台回复“京东”,可获取最新版《京东区块链技术实现白皮书》。
后台回复“纪录片”,可获取最经典中文版比-特-币纪录片。
后台回复“词典”,可获取区块链首部中文词典,5万字正本清源。
加入『Boonchain 社群』,发现投资价值!
在这里,你将获得:
1、高质量、深度的原创区块链行业分析,深入浅出。
2、针对区块链的投资策略分析。
3、优质项目的客观评测,解读。
4、一对一咨询、问答。
5、免费糖果。
加入 Boonchain,成为区块链的达人。
添加客服微信申请入群