您的位置: > 比特币行情> 正文

打印本文             

By:九九@慢雾安全团队

2021 年 11 ⽉ 30 ⽇,据慢雾区消息,DeFi 平台 MonoX Finance 遭遇攻击,本次攻击中约合 1820 万美元的 WETH 和 1050 万美元的 MATIC 被盗,其他被盗 Token 包括 WBTC、LINK、GHST、DUCK、MIM 和 IMX,损失共计约 3100 万美元。慢雾安全团队第⼀时间介⼊分析,并将简要分析结果分享如下。

攻击核心

本次攻击的核⼼在于利⽤ swap 合约中没有对池中传⼊和传出代币是否相同作检查,以此利⽤价格更新机制的缺陷,使得攻击者传⼊和传出代币相同时,价格被二次计算并覆盖,导致代币价格不断被推⾼,并以此代币换出池中的其他代币来获利。

相关信息

MonoX 是⼀种新的 DeFi 协议,使⽤单⼀代币设计⽤于流动性池。这是通过将存⼊的代币与 vCASH 稳定币组合成⼀个虚拟交易对来实现的。其中的单⼀代币流动性池的第⼀个应⽤是⾃动做市商系统 - Monoswap,它在 2021 年 10 ⽉时推出。

攻击者地址 1:

0xecbe385f78041895c311070f344b55bfaa953258

攻击者地址 2:

0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b

攻击合约 1:

0xf079d7911c13369e7fd85607970036d2883afcfd

攻击合约 2:

0x119914de3ae03256fd58b66cd6b8c6a12c70cfb2

攻击交易 1:

https://etherscan.io/tx/0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

攻击交易 2:

https://polygonscan.com/tx/0x5a03b9c03eedcb9ec6e70c6841eaa4976a732d050a6218969e39483bb3004d5d

攻击细节

1、首先攻击者调用 Monoswap.swapExactTokenForToken:0.1 个 WETH 换出 79.986094311542621010 个 MONO。

2、接着攻击者利用漏洞移除池子中其他用户的流动性,并为添加攻击合约的流动性以此来获取最大的利益。

这里移除流动性处的漏洞在 Monoswap.sol 中的 471-510 行,移除池中流动性时通过 removeLiquidity 函数调用 _removeLiquidityHelper 函数,而这两个函数都未做调用者和传入的 to 参数的身份验证,所以可直接移除任意用户在池中的流动性。

分析

  • 移除 0x7b9aa6 的流动性,把 1670.7572297649224 个 MONO 和 6.862171986812230290 个 vCASH 转出给 0x7b9aa6;
  • 移除 cowrie.eth 的流动性,把 152.9745213857155 个 MONO 和 0.628300423692773565 个 vCASH 转出给 cowrie.eth;
  • 移除 0xab5167 的流动性,把 99940.7413658327 个 MONO 和 410.478879590637971405 个 vCASH 转出给 0xab5167;

为攻击合约 1 在 MONO 代币流动池创建流动性。

分析

3、紧接着攻击者调⽤ 55 次 Monoswap.swapExactTokenForToken 以此来不断堆⾼ MONO 的价格。

分析

这里攻击的核心是在 Monoswap.sol 中的 swapExactTokenForToken 函数,攻击者传入 MONO 代币使得 tokenIn 和 tokenOut 是相同的代币。

分析

跟到 swapIn 函数中:

分析

可以发现在 swapIn 函数中,调用了函数 getAmountOut 来计算价格。接着跟到 getAmountOut 函数中发现是利用了 _getNewPrice 函数来计算 tokenInPrice 和 tokenOutPrice。

分析

分析

跟到 _getNewprice 函数中,发现当计算 tokenInPrice 时候传入的 txType 参数为 TxType.SELL,此时:

分析

分析

当计算 tokenOutPrice 时候传入的 txType 参数为 TxType.BUY,此时:

分析

如果传入和传出为同一种代币时,价格计算式中的四个变量都相同,所以很容易得出 tokenOutPrice 会比 tokenInPrice 要大。

由于 tokenIn 和 tokenOut 是同一个 token,swapIn 函数在计算完价格后会再次调用 _updateTokenInfo 函数,使得 tokenOutPrice 的更新会覆盖 tokenInPrice 的更新,所以导致这个 token 的价格上涨。

分析

分析

4、最后攻击者调用 swapTokenForExactToken 函数用 MONO 来换出池子中的其他代币。

分析

swapTokenForExactToken 函数中调用了 swapOut 函数,而 swapOut 函数中计算价格是调用的 getAmountIn 函数。

分析

在该函数中由于 tokenInPoolPrice 是取的 MONO 代币在池中的价格,而此价格在之前已被推高,导致 tokenInPrice 变大,计算最后的 amountIn 变小,用更少的 MONO 换出了原来相同数量的 WETH、WBTC、MONO、USDC、USDT、 DUCK、MIM、IMX 等池子中的代币。

分析

5、攻击者最终把攻击获利转入地址

0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b。

以上为以太坊主链上的攻击分析,此外,攻击者除了在以太坊主链上进行攻击外,还在 Polygon 上进行了同样的攻击,攻击手法与以太坊主链上相同,此处不做过多重复的分析。

据慢雾 AML 统计,MonoX Finance 最终损失约 3400 万美元,包括约 2.1K 个 WETH、1.9M 个 WMATIC、36.1 个 WBTC、143.4K 个 MONO、8.2M 个 USDC、 9.1M 个 USDT、1.2K 个 LINK、3.1K 个 GHST、5.1M 个 DUCK、4.1K 个 MIM 以及 274.9 个 IMX。

总结

本次攻击是利用了 swap 合约里没有对池中传入和传出代币作检查,从而利用价格更新机制的问题,由于在 swap 合约中会对池中传入和传出的代币的价格调用同一个函数 _upTokenInfo 来进行更新,而当传入和传出的代币为同一种代币时,第二次调用 _upTokenInfo 函数时,通过价格计算后的更高的 tokenOutPrice 会覆盖掉价格更低的 tokenInPrice,以此来不断推高池中该代币的价格,最后可以换出池中其他的所有代币来获利离场。


区块链毁了游戏?传统游戏玩家表示厌恶 NFT

撰文:Donovan Choy,独立研究者

来源:Bankless,编辑:南风

传统游戏的玩家们讨厌 NFT。

去年 11 月,游戏巨头育碧(Ubisoft) 宣布计划在其经典的《汤姆·克兰西》(Tom Clancy) 游戏系列中引入 NFT,作为游戏中可穿戴的道具。当时,该公司在 Youtube 上发布的相关视频宣传片遭遇了一大波游戏玩家的不悦,为了挽回公司的尴尬,该公司很快下架了该视频。从 NFT 交易市场 Rarible 的数据来看,截止到 2022 年 2 月,育碧的 NFT 收藏品的销量仅为35 笔,这进一步证实了其玩家群体对 NFT 收藏品的兴趣不高

尽管如此,还是要向育碧致敬。而其他游戏工作室,比如 Sega (日本世嘉公司) 和 GSC Game World (乌克兰游戏公司),在粉丝的强烈反对下迅速放弃并搁置了他们的 NFT 计划。

粉丝们认为,NFT 只是游戏工作室快速赚钱的另一种方式。一份 2022 年游戏开发者大会的报告调查了 2700 多名游戏开发者,发现“大多数游戏行业专业人士表示,他们的公司对加密货币 (72%) 或 NFT (70%) 根本不感兴趣”。如下图所示:

01.为什么传统游戏的玩家讨厌 NFT?

主要的反对意见似乎源于盈利问题,即围绕着Axie Infinity在 2021 年年中推广的「边玩边赚」(Play-to-Earn) 模式。

传统游戏中的游戏内货币和道具由开发商控制不同,区块链游戏允许玩家以他们自己的方式在加密世界和法币世界之间自由创建、完全拥有和交换资产。这种从“你只能交易我们说你能交易的东西”到“一切都可以自由交易”的游戏经济的转变,为玩家提供了一个从他们投入的时间和精力中获取利润的机会——因此被称为「边玩边赚」。

从这个角度来看,我们可以理解为什么玩家对 NFT 持怀疑态度。游戏是一种摆脱生活单调和压力的愉快方式。区块链游戏的市场力量破坏了这种精心设计的模拟,模糊了玩家与他们的幻想世界之间的界限。

只工作不玩耍,聪明的孩子也变傻,聪明的孩子需要玩耍的时间。

也许在传统游戏中还有一种不言而喻的公平感,而区块链游戏会让传统游戏玩家觉得这种公平感受到了侵犯:传统游戏让玩家从各种角色扮演的可能性中选择自己的命运——前提是我们都从平等的起点出发;但在区块链经济中,玩家可以使用法币来购买资源(比如 Axie Infinity 玩家购买SLP 代币用于繁殖新的 Axie 宠物),这就可能会让这些玩家无需像在传统游戏中那样需要基于能力以在游戏中前进

这种基于玩家能力来在游戏中前进的情感前提,正是导致许多资深玩家对「付费获胜(Pay-to-Win)微交易类型的购买 (比如如在休闲“免费”手机游戏中盛行的“战利品箱”(loot boxes))嗤之以鼻。如果这种购买能够能够带来美感升级,那么他们还能够容忍,但如果玩家能够购到实际的玩法并以此获得优势,那么他们便会更加不满

简而言之,区块链游戏提供了众所周知的《黑客帝国》红色药丸。但硬核玩家在他们的传统模拟游戏中非常开心,他们不希望看到兔子洞有多深。

上图:区块链游戏“红色药丸” vs. 传统游戏“绿色药丸”

02. 区块链毁了游戏?

每当媒体报道一大群愤怒的人时,我们的大脑就倾向于把他们简化成一个同质的群体,认为他们表达出一套统一的偏好。然而,如果你穿过这片嘈杂之声,一个更复杂的现实几乎总会浮现。

游戏玩家抗议称,区块链将游戏内的商业化添加到了游戏中,这将会把游戏艺术形式变得更糟:但对谁来说变得更糟糕呢?

对区块链游戏最强烈的敌意往往来自Steam 市场和 Reddit 上的“硬核”非休闲游戏玩家比如当 Valve 公司 (Steam 游戏市场背后的开发商) 宣布禁止所有区块链/NFT游戏时,许多玩家在 Reddit 上欢呼声一片。

然而,目前还不清楚这一粉丝群体是否代表了全球更广泛的、由28 亿有着不同消费偏好的玩家组成的强大游戏市场。

而Newzoo的数据显示,休闲手游玩家(55.19%)超过了 PC 游戏玩家 (28.7%) 和主机游戏玩家 (16.11%) 的总和。如下图所示:

全球游戏市场的营收数据也说明了同样的情况:手游营收占整个行业的52%,PC 游戏占20%,主机游戏占 28%。如下图所示:

当然,微交易(即玩家在游戏中花费少量金钱购买虚拟道具)在休闲和非休闲游戏中都很流行。不同的报告发现,仅微交易产生的收入份额就从 2021 年的 345 亿美元到 2020 年的 926 亿美元不等

市场已经表明:休闲手游占据主导地位如果游戏内的商业化是件坏事,那么相当数量的游戏玩家也会欣然接受

是的,我知道这很令人震惊。这个主要由对文化艺术无知的凡夫俗子构成的游戏市场,大多数人几乎不懂电子游戏的艺术,敢于沉溺在《部落战争》(Clash of Clans) 的「付费获胜」(Pay-to-Win)微交易中,我们现在对于他们将会把自己的资金转向 NFT 游戏非常感兴趣。

综上所述,这些数据告诉我们,即使有些玩家认为游戏内的盈利化很糟糕,但游戏市场的大多数人并不同这一观点

非休闲玩家抱怨区块链游戏引入了不必要的金融化,这是一种主观偏好,反映了游戏市场的一小部分人。当然,他们完全有权利做出自己的选择。自由市场的美妙之处在于,它允许多种价值观同时并存。但我想说的是,他们并不能代表那些乐意为游戏花钱并很可能会接受「边玩边赚」通过游戏赚钱的数十亿休闲玩家。

这是投机吗?来自 2021 年 DappRadar 报告的链上数据发现,每天有 140 万至 270 万个独立活跃钱包连接到区块链游戏。仅在 2021 年第三季度,游戏 NFT 的销售额就占所有 NFT 销售额的22%(23.2亿美元)。另一项估算显示,区块链游戏市场在 2021 年的销售额达到 15 亿美元(约四分之三来自 Axie Infinity)。

「边玩边赚」模式刚刚起步,但它已经通过了市场考验。

03.「边玩边赚」是经济自由

硬核游戏玩家将游戏行业视为一种不受商业限制的精英原则,即“最好的”玩家会在游戏中脱颖而出,但这是一种谬论。所有游戏都有「边玩边赚」的元素,只是我们不从金钱角度考虑它们。

最优秀的玩家会花费最稀缺的资源,即时间,来磨练自己的技能,磨出最好的装备(有谁在玩《暗黑破坏神》(Diablo) 吗?)。在加密领域,我们认为“鲸鱼”是那些拥有雄厚财力的人。而在游戏领域,“鲸鱼”是那些拥有最多时间的玩家。而我们这些投入时间较少的玩家将不会在排行榜上名列前茅,也不会被邀请参加突袭,或者受到社区的敬仰。

Web3 扩展了 Web2 在游戏领域的作用。Web2允许 (一些) 玩家通过 Twitch 直播将他们在游戏中花费的时间来商业化,并通过社交媒体从比赛和产品赞助中赚取奖金。Web3 进一步推进了这种平等主义逻辑,使每个人都能做到这一点。有人还记得Web2 之前的电子游戏吗?在某个不知名的网站上吹嘘我辛辛苦苦获得的《Runescape》排行榜分数是我获得的全部“收益”。

即使是那些担心「边玩边赚」会破坏他们虚拟世界的资深游戏玩家也会同意,我们最喜欢的 Web2 游戏可能包含太多乏味的劳动和刷任务。我们想要进入更高的关卡,所以我们被邀请参加屠龙突袭,但我们是否能够避免像《南方公园》中的EricCartman (该游戏中知名度最高的角色) 及其朋友那样在此过程中重复杀死 100 万头野猪?(这就是一种乏味的“刷任务”过程)

「边玩边赚」可能不会彻底改变“刷任务”过程,但它至少可以重新设计游戏,让玩家从中获得奖励。这些奖励不是微不足道的。2008 年的一份研究报告估计《无尽的任务2》(EverQuest 2) 玩家每年“损失” 24,852 美元的机会成本,这是基于他们的平均游戏时间 (每周 25-29 小时) 和他们所生活的社会给他们带来的赚钱能力。

第三方皮肤、地图和地块的 NFT 化也为成千上万的《Skyrim》、《Half-Life》和《我的世界》(Minecraft) 游戏制作者和用户生成内容的创作者打开了一扇有利可图的大门,他们可以免费分发自己的作品,同时获得“真正的粉丝”的付费。

区块链游戏承诺将开启所有这些盈利潜力,甚至更多。批评「边玩边赚」模式的人士担心,这种盈利模式可能会剥夺游戏的“乐趣”,但这些观点大错特错。比起现有的选择,「边玩边赚」能够让玩家获得更多福利。这总比什么都不做要好。

04.「边玩边赚」不是庞氏骗局

由于像 Axie Infinity 这样的区块链游戏需要玩家提前投入 100-300 美元 (编者注:Axie Infinity 玩家必须首先购买或租用至少三只 Axie NFT 数字宠物才能开始玩这款游戏),因此批评人士匆忙得出了“庞氏经济学”的结论。

首先,并非所有游戏都具有较高的准入门槛。像《Splinterlands》和《Gods Unchained》这样的热门「免费区块链游戏已经存在。对于即将问世的大预算 AAA 游戏来说也是如此。Solana 链上即将推出的角色扮演游戏《Aurory》允许玩家免费玩游戏,并在此过程中获得 NFT和游戏内货币 AURY。以太坊上另一款被大肆宣传的 AAA级游戏《Illuvium》计划以「免费」(Free-to-Play)模式发布其游戏,玩家可以选择付费并像目前许多免费游戏中所做的那样访问受限内容。所以,请不要担心小威廉将在暑假登录到一个“虚拟赌场”。

其次,就付费进入障碍而言,Yield Guild Games (YGG)或 Merit Circle 等GameFi DAO 组织已经出现,让数百万玩家加入利润共享模式。一些批评人士认为这是一种剥削,但当专业的电子竞技团队同样地雇佣和培训最优秀的游戏玩家时,他们却不会这么认为。

最后,随着时间的推移,随越来越多的区块链游戏进入竞争,经济理论告诉我们,更高的供应量将导致 Axie 的「边玩边赚」模式失宠。那些由于在「边玩边赚」模式中无法为玩家带来有吸引力的收益并因此失去竞争力的区块链游戏,将开始通过沉浸感和创造性等其他传统玩法元素吸引玩家。在休闲和「边玩边赚」之间实现这种混合平衡将是区块链游戏的平衡。

05. 区块链进一步实现了自发的游戏世界

区块链游戏让人兴奋的最大原因是商业文化和市场机制将向游戏中注入各种涌现效应 (emergent effects)。意外效应指的是从分散的人类行为中发展而来的自发的秩序和结果,用苏格兰哲学家Adam Ferguso的话来说就是:“人类行为的结果,但不是执行任何人类意图的结果。”

上图这种道路就是自发秩序的一个常见例子

许多这样的自发秩序已经存在于传统的游戏经济中。最好的例子是经济历史学家 Steve Davies 记录的沙盒 MMORPG (大型多人在线角色扮演游戏) 《EVE Online》,在该游戏中,整个地缘政治秩序、拥有 3 万多名成员的大型玩家派别以及复杂的经济系统都是在没有中心方向的情况下发展起来的

在《无尽的任务》(EverQuest)、《魔兽世界》和《LOTR Online》等MMORPG 游戏中,流行的屠龙点数(DKP,即Dragon Kill Points) 合法产权系统作为一种让玩家公平分配团队突袭中稀有战利品的方式自发地出现了

即使是在相对简单的 2D 游戏中,比如《吃豆人》或《超级玛丽》,玩家也可以通过创造方式获得高分来与他人竞争,从而创造出自己独特的体验。《我的世界》(Minecraft) 等模拟游戏的设计师为游戏设置了松散的边界 (即允许玩家搭建几乎任何东西),他们没有想象到的是,RSF (无国界记者) 组织会会在《我的世界》搭建其一座称为“The Uncensored Library”(不受审查的图书馆) 的虚拟图书馆,提供 200 多本经过审查的书籍,如下图所示。

区块链毁了游戏?传统游戏玩家表示厌恶 NFT

撰文:Donovan Choy,独立研究者来源:Bankle...

关于我们

币安下载官方app|币安iOS版|币安安卓版|币安电脑网页版

  • 用户支持
  • 帮助中心
  • 服务条款
微信二维码
币安官网渠道 数字区块链交易平台 Powered by binance
QR code