时间:2023-08-20|浏览:166
这就是那两行代码:
少了一个else。
有人故意提交了Pull Request(代码修改申请),几个月前RVN的开发团队就在GitHub上接受了意见,但可能由于疏忽,没有仔细检查就将其纳入了RVN的新代码并发布出去。
提交代码的人做了个好事,然后静静等待,等待新代码被广泛应用。
直到今年5月份,提交代码的人才开始利用这个漏洞增发RVN,并将其充到交易平台上出售。但他知道“低调赚钱”的原则,所以数量控制得很少,避免引起过多关注。
到了今年6月底,一个区块链浏览器团队发现了RVN的异常,除了正常挖矿量外,竟然还有额外增发的RVN!他们立刻通知了RVN的开发团队。如果不是他们的提醒,估计RVN的开发者现在还蒙在鼓里!市值被洗劫一空,他们可能会以为是正常矿工在卖币!
RVN的开发团队发现问题后面临巨大的危机。一方面,他们肯定要修正代码,将修正后的代码给矿池更新,相当于进行分叉,更新后,旧代码的增发币也就没什么用了。
同时,由于增发的币很快就会转移到交易所,这些币混杂在交易所的钱包中,即使代码更新后也不会影响未来的交易。因此,RVN的开发团队还需要通知交易所暂停充币,这就是为什么几大交易所突然暂停RVN充币的原因。
在6月底到7月初,RVN的开发团队都是秘密地进行着修复的工作,生怕提交代码的人发现。为什么呢?因为他们担心一旦提交代码的人发现后想:“终于发现了,要更新了是吧!那我也不为了隐蔽而小小增发了,趁着还没更新完成,我直接大量增发!大量抛售!全部变现!”
如果提交代码的人是个极端分子,按照上面的做法,他完全有可能摧毁整个RVN项目,经济模型直接归零。但提交代码的人似乎是个理性的人,只是为了赚钱,7月初代码更新即将完成时,他应该已经察觉到了,但最后只增发了大约3亿6千万个RVN,并成功转入了几大交易所,大约价值4000万元。
而且,最后没来得及转入交易所的300万个币,提交代码的人还主动销毁了,没有继续闹事。
现在,代码已经更新完毕,RVN项目总算逃过一劫,他们将慢慢消化掉提交代码的人赚得的4000万元,毕竟项目背后有像Overstock这样的大金主,应该能够弥补损失。
至于增发了这么多并已经流入市场的RVN,原本的RVN项目规定总量为210亿个,如何保持不变呢?有人肯定会说:RVN的开发团队自己没有好好审核代码,他们应该销毁自己手里的代币来抵偿!但是,请注意,他们早就宣布不会预挖或保留币,就像比特币一样,所以,他们是无法进行赔偿的(即使他们手里有早期挖的币),最后的解决方案很可能是提前减半挖矿量,直到达到210亿个为止。
最后,你可能会问:提交代码的人是否犯了罪?我想说的是,漏洞代码是由RVN的开发团队发布的,运行该代码也是所有矿工的共识,谁可以去谴责他们呢?总结一句评价:他做得太高了,就像当年那个利用美链ERC20代码漏洞增发的人一样,无法估量!
这就是用两行代码赚了4000万元的故事。
最后,我要郑重提醒那些非技术导向的团队,一定要对代码进行审查,以免将来出现严重问题。如果需要,可以在后台发送关键词“审核”,我会帮你联系最专业的代码审计团队。