首发 | Uniswap上的代币项目跑路?NUGS合约漏洞分析

大家在学生时代是否有过这样的经历:

考试的时候把较难的题都做对了,却因为简单的题丢了分。

老师经常说,那些拿满分?的好学生,都是既抓住了难题,同时也没放过简单的题目。

北京时间8月11日,CertiK安全研究团队发现基于以太坊的代币项目NUGS出现安全问题,其智能合约中存在安全漏洞,致使其代币系统出现巨额通胀。由于该智能合约的安全漏洞无法被修复,因此最终NUGS项目官方发布公告决定放弃该项目,存入其中的代币也无法被取出。官方公告如下图:

《精灵达人3D》正式首发 Cocos-BCX 主网:据官方消息,近日,由生态合伙人 DAPPX 参与开发的《精灵达人3D》正式首发于游戏公链 Cocos-BCX 主网。《精灵达人3D》是一款以精灵宝可梦为题材的抓宠游戏,游戏美术采用全3D 制作。用户可通过 CocosWallet , DAPPX 或 IMCOCOS 登录 COCOS 主网账号即可体验。截至目前,Cocos-BCX 主网已上线《加密骑士团》《恶龙必须死》《XPEX怪兽世界》《Go Block》《可可夺币》《熊猫运动会》等多款玩法多样的趣味性链游,游戏公链生态在逐步壮大和完善。[2020/8/20]

CertiK安全研究团队研究NUGS项目部署的智能合约,发现其安全漏洞存在于doLottery和_doLottery这两个函数中。

动态 | 可信教育数字身份在广州白云区首发 采用区块链等技术:12月25日,可信教育数字身份(教育卡)广东省应用试点首发仪式与应用研讨在广州市白云区举行。

据介绍,可信教育数字身份融合采用国产密码、区块链等核心技术,创新签发“云计算、边缘计算、移动计算”网络环境下的一体化数字身份,实现一体化密钥管理,构建“可信教育身份链”。(中国新闻网)[2019/12/25]

根据其智能合约的功能分析,NUGS代币项目是一个类似于彩票抽奖的系统。

IMEOS首发 BM表示EOS合约具有整数溢出保护:据金色财经合作媒体IMEOS报道:近日ETH出现多个ERC20智能合约的处理溢出错误,BM在推特上发表评论:新的ETH契约Bug可能会破坏整个Token的供应,让持有者留下无价值Token.这就算为什么代码不能成为法律,随即表示EOS erc合约不容易受到这种攻击。而EOS官方群也有人表示担忧EOS是否具有整数溢出保护?BM回应:有很多C ++模板类可以封装类型并检查溢出。[2018/4/25]

项目参与者向该智能合约中存入资金,这些资金会汇入当前彩票抽奖轮次的奖池中。然后每当经过一段时间后,智能合约会允许外部调用者调用下图中的doLottery函数来抽取当前彩票抽奖轮次的赢家,决定这个赢家的条件是这位外部调用者的地址以及当前彩票抽奖奖池中的奖金总量。而这位外部调用者会收到一部分奖金作为“开启”彩票抽奖奖池的奖励。

从上图中可以发现,通过第15行代码可以获得当前彩票抽奖奖池中的奖金数额。第20~22行代码显示,一部分奖金会奖励给外部调用doLottery函数的用户,这位用户也就是实际上的此次彩票轮次的“开奖嘉宾”。然后在25~28行中,扣除奖励给外部调用者的奖励之后的剩余奖金会被发送给本轮彩票的赢家。之后本轮彩票的开奖阶段结束。

该智能合约出现的问题在于:当在一次彩票抽奖完成后,彩票池中的奖金额没有被清零,导致了下一次彩票轮次开时,彩票池中依旧有上一次彩票池中奖金的数额,也就是彩票奖池中的初始奖金额会被错误的设置为上一次彩票抽奖结束后奖池中的最终奖金数目,而正确的初始奖金额应该为“零”。

每一次开奖时的奖金额都会被记录传递到下一次抽奖的初始奖池中,这样就会最终导致彩票池中的奖金越来越多,从而造成代币通胀并飞快贬值。

由于智能合约的一旦上链就无法更新的特性,使得NUGS项目官方无法将漏洞修复,因此只能选择将该项目遗弃。

该事件中智能合约的的安全漏洞较为简单易懂,属于专业智能合约开发者通常不会出现的错误。整个项目都建立好了,却因为一道“简单题”丢了分。而智能合约的项目一旦“丢分”,整个项目的命运都将被改变。

因此,CertiK安全团队建议:任何代币项目使用的智能合约都需要经过严谨的安全验证之后再上链。如果否则一旦出现错误就极易产生不可挽回的损失。建立一个项目要花费不少的人力物力,甚至要攻克各种“疑难杂症”。在简单问题上栽了跟头,而将整个项目彻底下架也令人唏嘘。如果在交卷前,一个专业的导师能够帮助项目检查一遍“试卷”,把握好难题的正确同时也确保简单问题不会出现任何闪失,那么谁不希望有这样的专业人士来把关呢?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

ICP关于WBF上线CJHJ的公告

尊敬的用户: WBF将在主板上线CJHJ/DUSD、CJHJ/USDT交易对,具体时间安排如下:充值时间:2020年9月8日11:00CJHJ/DUSD交易时间:2020年9月9日9:09:09CJHJ/USDT交易时间:2020年9.

[0:15ms0-3:536ms