曾累计1.25亿美元的Fairwin合约清零,三天后重启你还敢玩吗?
Fairwin是一个博彩平台,是以太坊网络上最大的合约之一。根据ETH Gas Station的数据,在过去的30天里,这个平台已经消耗了以太坊51%的gas,gas是以太坊网络的推动力。稳定币网络Tether此前被指消耗了大量的gas,而Fairwin的消耗量几乎是Tether的两倍。
Fairwin自称是公平的博彩平台。用户在最基础的碰运气游戏上下注,比如抛硬币和掷骰子。在这个过程中,你付出的资金其中4%用于生态建设,Fairwin说这些资金会返还给投资者。但许多安全研究人员认为整个事件是一个骗局。过去几周, 白帽黑客披露了以太坊Fairwin合同中的漏洞 ,这些漏洞让数百万美元的用户资金面临风险。根据以太坊开发者Philippe Castonguay的分析, Fairwin总共获得687,598 ETH,约合1.25亿美元。但截至本周周一,合同中的所有资金都已被抽干。
目前尚不清楚资金被抽干是因为合约所有者已携款潜逃,又或者是因为白帽黑客成功地提高了人们对Fairwin的警惕,因此导致投资者将所有资金撤出。Fairwin网站上的一则消息称,该公司对“虚假新闻报道”表示“强烈谴责”,并表示 将在未来三天内重启游戏。 帮助发现相关漏洞的安全审计人员Daniel Luca表示,在投资者可以撤资之前,该合约的所有者就设法提取了大部分资金。但“不可能每个人都撤出了资金。有些人还是因此蒙受了损失。”
本月早些时候,白帽黑客开始注意到这个项目,并一直在进行研究。区块链初创公司Kleros的首席技术官Clement Lesaege在有关以太坊安全的电报群里得知了这个项目,他披露的一个漏洞表明,该合约是无法持续的;人们投入的钱越多,分红就越高。但问题是:一旦新的投资者不再把钱投进去,合约就无法支付参与者,最终每个人都会失去一切。9月份以太坊区块链上最热门的应用看起来和给人的感觉都像是庞氏骗局。
几天前,白帽黑客发现了一个漏洞,可能导致合约运营者窃取用户的资金。正如Lesaege所写的那样:
“奖励、分红和奖品的发放只能由运营者来完成。运营者可以选择奖励哪些用户。运营者可以不执行其他用户的奖励,而是执行他们控制的账户的奖励,从而从合约中窃取资金。”Lesaege表示,该合约还实施了“领跑者攻击”(frontrunner attack)。基于Fairwin合约的规则,投资这个合约将产生一个代码用于推荐计划。但是Fairwin的奖金始终只给到第一个兑换代码的人。Lesaege说,一个欺骗受害者加入的攻击者可以轻松算出邀请码:
“在你的交易被执行之前会在内存池里,攻击者可以看到你的邀请码,然后盗用你的邀请码。”最终,受害者的投资奖励都会被攻击者拿走。
这意味着合约中所有资金都有风险。过去几天,白帽黑客一直在传播有关Fairwin的消息,他们认为该平台的大多数用户都来自亚洲。无论如何,这个合约持有的资金已经为0了:十天前,这个合约内仍有1000万美元。现在为0。
Fairwin的不公平之处
2018年1月,Fairwin开始研发博彩平台。但到了12月,该团队在推特宣布,他们没有为ICO筹集到足够的资金,因此放弃了这个项目。但在2019年7月,尽管Fairwin的任何社交媒体渠道上都没有发布任何声明,但一个Fairwin的克隆版却推出了一份新的合约,从此开始成为了以太坊网络的大麻烦。从那时起,该合约内的资金已经增长到1050万美元的峰值。
我们几乎无法判断其运作者身份。发出的问询邮件均被退回,Fairwin的推特一年前就关了,这家公司在伦敦的办公室现在变成了一家咖啡店,几天前,Fairwin网站上的团队成员图片还是职业照。现在变成了卡通玩偶。
我们有理由相信这不是最开始的那个Fairwin团队。 首先,Fairwin的白皮书是用谷歌翻译过来的一团乱麻。相关文字节选如下:
“基于Ethernet fang的FW底层技术链……基于区块链技术,FW将实现全球博彩业流通,打破数据孤岛,数字化全球资产流通。”Fairwin的宣传视频旁白是电脑合成的,没有真人的声音。
代码也同样令人费解。专家表示其代码全是没用的垃圾,而且很多根本运行不了。Lesaege说:
“这是我所见过的代码质量最差的合约(我见过很多非常糟糕的合约,显然都比不上这个)。”他说,这个合约的代码没有任何注释——这是代码库中常见的一个特点——名字又都是拼写错误,而且很多代码根本无法运作。
安全研究员Harry Denley创建了一个查询Fairwin数据的图表,他发现这六个管理员地址需要大量的资金来保证调用合约方法。为什么呢?因为这个月“写得很糟糕”,这些方法调用的成本可能高达30美元。“一天要进行好几次调用,”他说。
我们仍然没有找到答案:Fairwin是邪恶的天才创造的吗?他们摧毁了大半个以太坊区块链,并且进行掠夺。又或者Fairwin是庞氏骗局,代码糟糕,又一个利用一夜暴富心理谋利的骗局?
Lesaege说,他在发现漏洞之后,上周六就向Fairwin团队报告了。
“最简单、最有可能的解释是,他们的代码实在太糟糕了。”
“由于FairWin在过去有过一些漏洞,但已经修复了,我认为他们不会试图攻击自己的合约。”但Fairwin否认了漏洞的存在,仍有大量资金源源不断地流入这个合约。
Lesaege说Fairwin团队给出的回复是这样的:
“我们已经发现了漏洞,但我们不认为这是漏洞。我们对合约进行了判断,用户首次生成的邀请码作为最终的邀请码。所以这个漏洞是无效的。”今天在他们的网站上有消息称,游戏将重新开始,并坚决否认欺诈指控。
安全审计员Daniel Luca认为:
“他们可能不是故意的,但他们仍然可以随时提走所有资金。”过去一周,顶级安全专家一直在吸引人们的注意,呼吁关闭FairWin,或者至少帮助用户控制他们的资金。
安全研究员Philippe Castonguay建议:
“应避免与这一合约产生任何互动,如果有的话,立刻撤出资金。所有用户的资金都有风险,尤其是那些刚刚存进去的资金。”安全专家的努力已经有了一定的效果;在过去的24小时里,FairWin几乎没有了交易量,Etherscan等主流区块链浏览器已经将其标记为易受攻击,而且它的钱包里已经没有资金了。 那么这究竟是白帽黑客的胜利,还是以太坊最新的跑路骗局?