背景
2021 年 1 月 27 日,据慢雾区情报,SushiSwap 再次遭遇攻击,此次问题为 DIGG-WBTC 交易对的手续费被攻击者通过特殊的手段薅走。慢雾安全团队在收到情报后立马介入相关事件的分析工作,以下为攻击相关细节。
SushiMaker 是什么
SushiMaker 是 SushiSwap 协议中的一个重要的组件,其用于收集 SushiSwap 每个交易对的手续费,并通过设置每个代币的路由,将不同交易对的手续费最终转换成 sushi 代币,回馈给 sushi 代币的持有者。这个过程就是发生在 SushiMaker 合约上。
恒定乘积的公式很简单,在不计算手续费的情况下,恒定乘积的公式为
Uniswap基金会:将在未来几周讨论如何部署超437万枚ARB:金色财经报道,Uniswap 基金会表示将把 Arbitrum 分配的 4,378,188 枚 ARB 发送到 Arbitrum 上 Uniswap 基金会拥有的多重签名地址(90xF4E08 开头),接下来几周将启动关于如何部署这些资金的社区讨论。[2023/4/18 14:11:14]
也就是说每次兑换,其实都是遵循这个公式,及交易前后 K 值不变,在兑换的过程中,由于要保持 K 值不变,公式的形式会是这个样子
其中 X 代表卖掉的代币,Y 代表要购买的代币,那么每次能兑换到的代币数量会是这个样子(具体的推导过程就不演示了 :D)
直播|陆遥远 :普通用户如何参与DeFi获得高额收益:金色财经 · 直播主办的金点Trend《2020 DeFi Dai飞吗?》马上开始!DeFi生态里,我们还应该狙击哪些项目?成长空间是多少?应该关注哪些风险?11:00准时开播!本场嘉宾来自老陆的区块链笔记的作者/ 麦子钱包PM陆遥远分享“普通用户如何参与DeFi获得高额收益”,请扫码移步收听![2020/7/31]
从公式上可以看到,当输出代币 Y 的兑换数量上限取决于 Y 代币的数量,而和 X 代币数量的大小无关,反过来说,如果要卖掉的 X 代币数量很大,但是 Y 代币的数量很小,那么就会造成大量的 X 代币只能兑换出少量的 Y 代币,而这个兑换价格相比正常的交易价格会偏离很多,这就是所谓的滑点,是本次攻击中的关键。
伏泰昊:JUST主动思考如何在波场上建立完善的DeFi体系:据最新消息显示,波场大航海时代4.0全球线上发布会正在进行中,JUST项目负责人伏泰昊在发布会中表示:“JUST旨在打造基于波场TRON的稳定币借贷平台,一个好的金融产品离不开下面应用层的稳定输入与输出,会有多个协议与应用的交叉集合,长期来看,JST代币作为整个治理体系的代币,我们会提供多种底层借贷协议和报价协议等,为用户提供全面的金融服务。作为DeFi明星项目,JUST不仅致力于开拓波场的稳定币市场,也在主动思考如何在波场上建立完善的DeFi体系。”[2020/7/7]
2020 年 11 月 30 日,SushiSwap 就曾因为 SushiMaker 的问题出现过一次攻击(详解参阅:以小博大,简析 Sushi Swap 攻击事件始末),本次攻击和第一次攻击相似,但流程上有区别。相较于旧合约,在新的合约中, 手续费在兑换的过程中会通过 bridgeFor 函数为不同交易对中的代币寻找特定的兑换路由,然后进行兑换。
动态 | Kyle Samani发推质疑Block.one如何在两年时间花掉 8 亿美元:著名区块链投资机构 Multicoin 创始合伙人 Kyle Samani 发推质疑 EOS 背后的开发公司 Block.one 如何在两年时间中烧掉 8 亿美元。Kyle Samani 发表推文称,如果 Block.one 通过 ICO 融资了 40 亿美元,现在的资产负债表上有 32 亿美元的资产,那么这家有 200 名员工的公司如何在两年时间里花掉了 8 亿美元现金?Kyle Samani 还称,Block.one 进行了 1.8 亿美元风险投资,但这不是支出,即便把这些投资的账面资产都减记为 0 ,时间也不够用。而 Staked.us 的联合创始人 Jonathan Marcus 则表示,Block.one 花费的那 8 亿美元中,最少有 5.3 亿美元用于股权回购,因为 Block.one 过去两年共进行了两次股权回购,一次花费了 3 亿美元,最近又回购了 2.3 亿美元的股权。[2019/6/3]
中国纪检监察报:中国区块链发展的最大挑战是“如何让监管理解区块链并适度监管”: 中国纪检监察报发文表示,区块链底层技术获得实质性突破之前的这个阶段,恰恰是一个战略机遇期。如果中国区块链行业能紧密合作,监管能够适当包容、鼓励,中国在区块链领域引领全球指日可待。实际上,区块链技术最终必然演化为“监管融入技术”的模式,区块链的难以篡改、共享账本和分布式的特性,更易于监管介入,获得更加全面实时的监管数据。让监管机构本身也参与到技术中去,通过技术本身实现对技术的监管,最终化解区块链与监管的冲突。[2018/3/6]
其中,brdigeFor 函数的逻辑如下:
根据 bridgeFor 的逻辑,我们不难发现,如果没有手动设置过特定币种的 bridge,那么默认的 bridge 是 WETH,也就是说,在未设置 bridge 的情况下,默认是将手续费兑换成 WETH。而 DIGG 这个币,就是正好没有通过 setBridge 设置对应的 bridge 的。
但是这里还有一个问题,就是在 swap 的过程中,如果这个交易对不存在,兑换的过程是失败的。本次攻击中,DIGG-WETH 这个交易对一开始并不存在,所以攻击者预先创建一个 DIGG-WETH 的交易对,然后添加少量的流动性。这个时候如果发生手续费兑换,根据前面说的恒定乘积的特性,由于 DIGG-WETH 的流动性很少,也就是 DIGG-WETH 中的 WETH 上限很小,而 SushiMaker 中的要转换的手续费数量相对较大,这样的兑换会导致巨大的滑点。兑换的过程会拉高 DIGG-WETH 交易对中 WETH 兑 DIGG 的价格,并且,DIGG-WETH 的所有 DIGG 手续费收益都到了 DIGG-WETH 交易中。通过观察 DIGG-WETH 交易对的流动性情况,流动性最大的时候也才只有不到 2800 美元的流动性,这个结果也能和公式的推导相互验证。
攻击者在 SushiMaker 完成手续费转换后,由于 ?DIGG-WETH 交易对中 WETH 兑 DIGG 的价格已经被拉高,导致少量的 WETH 即可兑换大量的 DIGG,而这个 DIGG 的数量,正是 DIGG-WBTC 交易对的大部分手续费收入。
本次攻击和 SushiSwap 第一次攻击类似,都是通过操控交易对的兑换价格来产生获利。但是过程是不一样的。第一次攻击是因为攻击者使用 LP 代币本身和其他代币创建了一个新的交易对,并通过操纵初始流动性操控了这个新的交易对的价格来进行获利,而这次的攻击则利用了 DIGG 本身没有对 WETH 交易对,而攻击者创建了这个交易对并操控了初始的交易价格,导致手续费兑换过程中产生了巨大的滑点,攻击者只需使用少量的 DIGG 和 WETH 提供初始流动性即可获取巨额利润。
相关参考链接如下:
SushiMaker 归集手续费交易:
https://etherscan.io/tx/0x90fb0c9976361f537330a5617a404045ffb3fef5972cf67b531386014eeae7a9
攻击者套利交易:
https://etherscan.io/tx/0x0af5a6d2d8b49f68dcfd4599a0e767450e76e08a5aeba9b3d534a604d308e60b
DIGG-WETH 流动性详情:
https://www.sushiswap.fi/pair/0xf41e354eb138b328d56957b36b7f814826708724
Sushi 第一次被攻击详解:
https://mp.weixin.qq.com/s/-Vp9bPSqxE0yw2hk_yogFw
By :?yudan@慢雾安全团队
目前,以太坊是智能合约平台之王,市值超过2000亿美元。Cardano和Polkadot分别位居第二和第三,市值分别为260亿美元和250亿美元.
1900/1/1 0:00:00?以下内容数据来自KingData,转发、引用请注明数据源为KingData。KingData 用数据赋能交易,快人一步遇见财富。以太坊再创新高,单价逼近1700美金.
1900/1/1 0:00:00昨夜今晨,ETH连续上涨,续创历史新高。北京时间2月3日0时59分,ETH突破1500美元,6时34分,ETH最高涨至1547.16美元,截至发稿时,略有回落,现报价1513美元.
1900/1/1 0:00:00你知道现在最火的 NFT 发售方式是什么吗?从最开始的定价出售、英式拍卖、荷兰拍卖,到后来随着 Nifty Gateway 走入人们视野后为人熟知的开放版本发售、无声拍卖.
1900/1/1 0:00:00能保证一定时间内产生的数据无法被篡改的区块链技术,受到越来越多政法机关的青睐。北京市朝阳区人民法院便是其中之一.
1900/1/1 0:00:00似乎是一个轮回,CryptoKitties 在 2017 年的牛市中大放光彩,成为第一个让公链瘫痪的爆款 dApp.
1900/1/1 0:00:00