编者按:Uniswap推出的一个小代币项目NUGS涉嫌“路上诈骗”,项目方将此举归因于“智能合约漏洞”certik安全研究团队研究了这个契约漏洞。
你在学生时代有过这样的经历吗
我在考试中所有的简单问题都答对了,但我答对了所有的难题。
老师们常说,得满分的人都是好学生,他们不仅能抓住难题,而且不会漏掉简单的问题。
北京时间8月11日消息,certik安全研究团队发现,基于以太坊的代币项目NUGS存在安全问题。其智能合约存在安全漏洞,导致代币系统出现巨大通胀。由于智能合约的安全漏洞无法修复,NUGS项目正式宣布放弃该项目,存储在其中的代币无法取出。官方公告如下:
Certik安全研究团队对NUGS项目部署的智能合约进行了研究,发现其安全漏洞存在于doLootttery和_udoLoottery中。
根据其智能合约的功能分析,NUGS代币项目是一个类似彩票的系统。
项目参与者将资金存入智能合约,然后汇入当前的奖池抽奖环节。然后,在一段时间后,智能合约将允许外部调用者调用下图中的doLootttery函数来提取当前彩票的中奖者。确定中奖者的条件是外部来电者的地址和当前彩票池中的奖金总额。外部来电者将收到一部分奖金作为“打开”彩票池的奖励。
如上图所示,您可以通过第15行获得当前彩票池中的金额。第20-22行显示,部分奖金将授予外部调用dolLoottery函数的用户,该用户实际上是该轮彩票的“中奖者”然后,在第25-28行中,将扣除给外部呼叫者的奖励后的剩余奖金发送给本轮的赢家。此后,本轮彩票开奖阶段结束。
智能合约的问题是:当一次抽奖结束后,彩票池中的中奖金额没有清零,导致下一轮开奖时,彩票池中仍有上一轮彩票的金额,也就是说,彩票池中的初始中奖金额会被错误地设置为最终的中奖数在泳池中**一次抽奖后,正确的初始奖金金额应为“零”
每次抽奖时的奖金数额都会被记录下来,并转移到下一次抽奖的初始池中,最终导致彩票池中的奖品越来越多,从而导致象征性通胀和快速贬值。
由于智能合约一旦上链就无法更新,NUGS项目官员无法修复该漏洞,因此只能选择放弃该项目。
本次事件中智能合约的安全漏洞相对简单易懂,属于专业智能合约开发者通常不会出现的错误。整个项目都安排好了,但我因为一个“简单的问题”而失分。一旦智能合约项目“失分”,整个项目的命运将发生改变。
因此,certik安全团队建议代币项目中使用的任何智能合约在上线前都应该经过严格的安全验证。否则,一旦出现错误,很容易造成无法弥补的损失。立项工程需要大量的人力物力,甚至要克服各种“难题”遗憾的是,整个项目已经全部下架。如果专业导师能在交卷前帮项目检查“试卷”,掌握疑难问题的正确性,保证简单问题不会出现错误,那么谁不希望这样的专业人士来检查呢?
文章标题:令牌项目如何在uniswap上运行?NUGS合同漏洞分析
文章链接:https://www.btchangqing.cn/82791.html
更新时间:2020年08月13日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。