十月初,AnChain.AI上举办了最新的区块链调查大赛,比赛持续两周时间,许多玩家期间深入了解到以太坊区块链交易和智能合约数据。除了许多免费提供的工具外,Anchain还为参与者提供了CISO区块链分析平台的免费许可,让区块链分析变得更加容易。
在本次大赛决赛圈中,Coinbase首席安全分析师PeterKacherginsky重点关注了前期DeFi行业内引发热议的“寿司”Sushiswap创始人Nomi大厨退出局及其在2020年9月归还资金事件。实际上,该事件也是本次大赛最困难的一个挑战,本文会提及一些本次区块链调查大赛时所使用的分析工具、技术、以及经验教训,并且分享调查Nomi大厨退出局及其在2020年9月归还资金事件的相关步骤。
下面就让星球君和大家一起来揭开这一事件的真相吧:
2020年9月5日,“寿司”Sushiswap创建者Nomi大厨从协议中兑现了大约1,400万美元资金,但之后又在2020年9月11日归还了这笔钱。我们使用Anchain的CISO工具可以查询到涉及相关交易的账户情况。如果调查上述交易就会发现,Nomi大厨在0xf942dba4159cb61f8ad88ca4a83f5204e8f4a6bd和0xf73b31c07e3f8ea8f7c59ac58ed1f878708c8a76两个地址之间转移了38,000枚ETH。
上图展示了AnchainCISO追踪2020年9月11日Nomi大厨转移38,000枚ETH的相关交易。
2020年9月11日,Nomi大厨在道歉推文中提供了确切的交易哈希,并暗示所有取出的ETH都已经退回到“寿司”Sushiswap库存账户:
让我找出这个“0xf942db”开头的这个地址:0xf942dba4159cb61f8ad88ca4a83f5204e8f4a6bd。Etherscan将该地址标记为——SushiSwap:Deployer,其实从早期交易历史来看,这个地址从2020年8月26日开始就部署了Sushiswap:SUSHITOKEN合约:
事实上,Nomi大厨是唯一有能力部署这个合约的人,因此我们可以肯定这个“0xf942db”开头的地址与Nomi大厨有直接联系。另一个“0xf73b31”开头的地址更加有趣,因为这个地址其实在2020年9月3日与“0xf942db”开头地址部署的同一个多重签名钱包:
Stargate上线美元稳定币MAI流动性池:11月23日消息,基于LayerZero的跨链桥Stargate上线美元稳定币QiDAO推出的美元稳定币MAI流动性池,支持MAI在以太坊、Polygon、BNB Chain、Avalanche,、Arbitrum、Optimism之间进行跨链转账。[2022/11/23 8:01:48]
上图是多重签名合约部署,资料来源:Etherscan
现在是不是觉得很有趣?!是的,Nomi大厨将38,000枚ETH从一个已知的以太坊个人账户转移到他们自己最初创建的多重签名钱包里。多重签名合约的优点就在于能够查到钱包所有者信息。所以,我们可以使用Etherscan的便捷合约读取功能来查询该钱包的所有者:
我们使用多重签名getOwners()输出函数即可,如上图所示,资料来源:Etherscan
从上面截图显示的结果可以看出,其中并没有Nomi大厨“0xf942db”开头的地址。不过Nomi大厨此前曾进行了一项交易,将钱包所有权从“0xf942db”开头的地址更改为了0xd57581d9e42e9032e6f60422fa619b4a4574ba79。在记录这方面,我们不得不佩服Etherscan,该平台又为我们提供了详细的交易事件日志:
上图是多重签名钱包的所有权变更交易,资料来源:Etherscan
那么问题来了,“0xD57581”开头的地址所有者是谁的?如果我们在社交媒体Twitter上搜索这个地址,会发现Nomi大厨的Twitter账户@Nomichef曾与加密货币衍生品交易所FTXExchange首席执行官@SBF_Alameda在Twitter上发生过一次“有趣”的交流:
基于上述交流记录,我们知道FTX首席执行官@SBF_Alameda同意接管“寿司”Sushiswap项目,并在其官方Twitter账户上发布了自己的以太坊钱包地址作为所有权证明。存款之后,@SBF_Alameda使用“0xD57581”开头的地址继续向他刚在Uniswap上购买的多重签名合约存入557万枚SUSHI代币:
上图是通过AnchainCISO查询到@SBF_Alameda将556万枚SUSHI代币存入到多重签名地址。此后不久,@SBF_Alameda继续提取了38,000枚ETH作为补偿,交易记录如下:
Gate.io将于4月13日开启Startup项目RAZE:据官方公告,Gate.io将于4月13日12:00至4月13日18:00上线Startup项目Raze Network(RAZE)并开启认购通道,6小时内有效下单同等对待。用户参与认购时需要达到VIP1和以上级别。用户下单后到结束认购后2小时内,请务必保证现货交易账户中有不低于认购金额的足够金额,金额不足将自动排除在有效订单之外。
请务必注意,本次RAZE认购额度10万美金为Gate.io Labs参与Raze Network私募轮总额度,现提供给Gate.io社区用户参与Raze Network早期投资。[2021/4/8 19:59:01]
由此可以看出,“0xf73b31”开头的地址在整个“寿司”Sushiswap生态系统中起着非常重要的作用,但并不清楚为什么这些交易都要选择这个地址。为了挖出这个问题的答案,让我们再来看看奖励系统如何在Sushiswap上运作。
最早在Medium上宣布推出“寿司”Sushiswap项目的文章现在已经删除,从存档网页中我们发现Nomi大厨提到了Sushiswap有一个项目可持续/开发基金:
如果我们查看该项目的源代码,在MasterChef.sol中可以发现执行奖励的逻辑,下图是从GitHub上存储的开发基金SUSHI代币奖励的源代码:
开发基金的地址信息存储在变量“devaddr”中,并在初始化时在智能合约构造函数中定义,下图是GitHub上存储的开发基金地址初始化源代码:
根据Medium的历史文章显示,MasterChef合约部署在0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd上。下面让我们看一下Etherscan,通过第一笔交易可以了解合约部署时是如何设置的:
不幸的是,输入数据很难解密,但是我们可以再输入数据地步找到构造函数初始化数据,如下图深色区域所示:
每个构造函数变量的大学均为“uint256”,可以轻松被拆分成单个参数:
上图是构造函数参数。
简单地说,这些参数都与源代码相匹配,因此我们可以获得devaddr的参数,结果会发现这个地址已经被明确地设置为Nomi大厨的地址,下图是GitHub上的Masterchef.sol构造函数变量:
Gate.io“天天理财” 第178期USDT锁仓理财明日开启:据官方公告,Gate.io 将于4月7日(明日)12:00上线第178期 USDT锁仓理财,总额度 5,000,000 USDT,锁仓期限7天。[2021/4/6 19:51:12]
基于上述分析,我们发现“0xf942db”开头的地址可以收集到10%所有铸造的SUSHI代币,而Nomi大厨与2020年9月5日把该地址中的SUSHI代币兑换成了ETH。但是,如果查看变量当前的状态,我们将会找到一个完全不同的地址,如下图红框所圈出的:
该地址对应于Nomi大厨返还的38,000ETH的那个多重签名钱包,也就是说,“0xf73b31”开头的这个地址实际上就是Sushiswap的一个新的金库账户,用于收集Nomi大厨在Twitter帖子中所提及的10%代币奖励,而且只有一个函数可以更新协定中的devaddr变量,如下图所示:
我们可以通过扫描Bloxy.info提供的函数调用活动来快速找到对该函数的调用,下图就是Bloxy的智能合约函数调用查询结果:
从下图中可以看出,dev函数只进行过一次函数调用,就是Nomi大厨于2020年9月5日执行的,就在他在Uniswap上倾销SUSHI代币之前的几分钟:
Nomi大厨调用了“0xf73b31”开头地址上新的devaddr参数,该参数定义了新的库存账户或开发基金账户。
至此,我们可以把所有事件的时间表梳理清楚,并形成一个更为完整的报告,从最初创建“寿司”Sushiswap项目一直到2020年9月11日交易及其他相关事件:
SushiSwap调查报告
1、@Nomichef是一位匿名开发人员,他/她于2020年8月26日创建了SushiSwapDeFi合约。
2、该合约包含了一个由@Nomichef控制的开发人员帐户,此帐户收集了10%所有铸造的SUSHI代币。
3、2020年9月5日,@Nomichef从开发者账户中提取了价值约1400万美元的SUSHI代币,并在Uniswap上将这些代币兑换成了38011ETH。
4、@Nomichef还设置了新的多重签名合约作为新的开发人员帐户,以再次收集SUSHI代币奖励。
5、在社区强烈抗议之后,@Nomichef将38,000ETH转移到先前创建的多重签名合约中,该合约现在由加密衍生品交易所FTXExchange首席执行官@SBF_Alameda控制。
Gate.io 已完成11月6日FIL代币转化分发,总量约1.3万枚:据官方公告,Gate.io今日(11月6日)已经根据用户FIL6持仓情况完成FIL分发,总计约1.3万枚,用户可在账户账单明细中查看详情。目前Gate.io已经支持Filecoin(FIL)现货交易,充值提现,杠杠交易,币币理财,永续合约交易,三倍ETF交易等全线系列产品和服务。[2020/11/6 11:51:34]
6、@SBF_Alameda依次存入557万枚SUSHI代币,并撤回@Nomichef的ETH作为补偿。
7、在进行本次分析时,该多重签名的开发人员帐户是最大的DeFi“巨鲸”帐户之一,价值约90亿美元。
区块链分析
以下区块链分析图是使用AnchainCISO生成的,用于记录与本案例有关的以太坊区块链上的交易.
ETH交易:
SUSHI交易:
事件时间轴
涉及本时间的相关地址信息
1、x6b3595068778dd592e39a122f4f5a5cf09c90fe2—SushiToken合约
2、0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd—SushiSwap:MasterChefLP抵押池,同时也持有Sushiswap上最大的流动性头寸。
3、0xf942dba4159cb61f8ad88ca4a83f5204e8f4a6bd—@NomiChef账户/SushiSwap:Deployer/Devshare账户。
4、0xf73b31c07e3f8ea8f7c59ac58ed1f878708c8a76—合约:MultiSigWalletWithDailyLimit/NewDevshare账户。
5、0x80c5e6908368cb9d***3ba968d7ec5a565bfb389—Zapper.FiUniswap
6、0xCE84867c3c02B05Dc570D0135103d3fb9cC19433—UniswapV2
7、0xD57581D9e42E9032e6f60422fA619b4A4574Ba79—@SBF_Alameda—FTXCEO
Gate.io已开启投票上币第四十四期Ergo(ERG):据官方公告,Gate.io已于10月10日(今日)中午12:00开启第四十四期投票上币项目Ergo(ERG),投票结束时间为10月11日(明日)上午10:00。在本轮投票中,ERG如获得1000万票,Gate.io将上线ERG对USDT交易,参与投票的用户均可分享50000 ERG空投奖励。详情请见原文链接。[2020/10/10]
阶段零:设置
1、2020–08–2612:28:07UTC—@Nomichef部署了SUSHI代币合约。https://etherscan.io/tx/0x5489c98aa634078471646e32a3a846c8d413f055ce10d06bd2260f4e71d1bc63
2、2020–08–2601:00:51UTC—@Nomichef部署了MasterChefLP抵押池,同时构造函数显式设置为devaddrf942dba4159cb61f8ad88ca4a83f5204e8f4a6bd:
https://etherscan.io/tx/0x3d68b0d8a94838af33070b8f00558e723f073b23772bd1760f1f4032e21e0fb3
3、2020–09–0301:16:40UTC—@Nomichef部署了多重签名钱包0xf73b31c07e3f8ea8f7c59ac58ed1f878708c8a76。
https://etherscan.io/tx/0x58b4873325c662a043b51f5c479a9cab263f7a4ce80517a0109a753d7ee7700f
阶段一:退出
1、UTC2020–09–0509:20:10UTC—@Nomichef向Zapper.FiUniswap合约发起交易:
在此交易中,使用502.49万枚SUSHI代币在UniswapV2和Zapper.Fi平台上开放SUSHI-WETH流动性对,交易量为3886枚WETH。
https://etherscan.io/tx/0xc97cac6a9457f73febfd93ca90dd4dfbe128ad1658c3e48d01ad3d92d3efd07e
2、2020–09–0509:33:19UTC—@Nomichef将devshare帐户地址从0xf942dba4159cb61f8ad88ca4a83f5204e8f4a6bd更改为多重签名钱包0xf73b31c07e3f8ea8f7c59ac58ed1f878708c8a76:
https://etherscan.io/tx/0xe7e811bdc697b6ba7794a3ec795797a6c88181116196256b98695f17d987ea11
3、2020–09–0511:57:05UTC—SUSHI-WETH交易对已清算38011枚ETH,资金被转回给@Nomichef
https://etherscan.io/tx/0x419a835b33eb03481e56a5f964c1c31017ab196cb7bb4390228cabcf50dfd6f1
阶段二:返还
1、2020–09–0606:29:00UTC—@Nomichef达成协议将资金返还给多签名钱包并将控制权转移到@SBF_Alameda:
https://twitter.com/sbf_alameda/status/1302501004118695936
2、2020–09–0607:32:34UTC—多签名钱包所有者从@Nomichef替换为@SBF_Alameda。
https://etherscan.io/tx/0xe4fcf8aa90cc42355e2998561759f906ba5bb***f2aeea161ebd167e3acc5609
3、2020–09–1103:25UTC—@Nomichef将38,000枚ETH转移回SUSHI多签名钱包。
https://etherscan.io/tx/0xa5179a870734faadbb7abe2cc2030436a870f9bda1f869b3f986d65cbfbe57b8
4、2020–09–1103:31:00PMUTC—@Nomichef致歉,并公开表示已将38,000ETH转移至“寿司”Sushiswap库存多重签名帐户。
https://twitter.com/NomiChef/status/1304442495342796800
阶段三:报偿
1、2020年9月15日上午01:13:46UTC—@SBF_Alameda开始从Bittrex和另一个未知交易所累积39699.94枚ETH。
https://etherscan.io/tx/0xcefbd6a9b03522d87915f75ed94c10ed2c87a8456a436ca3f323bf46473bce60
https://etherscan.io/tx/0x6db4e66cba8566721e10015c1aa3db0738e4ac373e817aebf7cf3dba3a1cf377
https://etherscan.io/tx/0x47bfcb08961f1a80dc58e48cc22e34eda0712f3a8cff76eb4be9583a456dcd3d
https://etherscan.io/tx/0xd2c2f5c070eeb3d1ebbe9897f5047ffc74ca9183ef94c826a36b0b0616d65936
2、2020年9月15日上午02:06UTC—@SBF_Alameda完成了将ETH与Uniswap上的SUSHI代币的兑换。从下面链接中可以查到最后一笔兑换交易:
https://etherscan.io/tx/0xc901dea31fcc59a68fbbd9133f775836f3d59a2f0f6423835d949a215f099666
3、2020年9月15日上午02:15:46UTC—557万枚SUSHI代币从@SBF_Alameda控制的地址转移到多重签名钱包
https://etherscan.io/tx/0x8ff45efc77e5d81714f5a2e0a839c216112c2af6242041ef2d46cdf2fe8678f0
https://etherscan.io/tx/0x968de6f3f80b2af08d1c520d20d9c94019152cbac838aabf6c632da02ee0229f
4、2020年9月15日上午4:42UTC—将38,000枚ETH从多签名钱包转移到@SBF_Alameda。
https://etherscan.io/tx/0x7ef94acf19eaff3517e0675db1d6694b7567e79090cb1192f20ad0ee7892078d
https://etherscan.io/tx/0x7d3ab2ea9a4578f9ff08b90a73ec3d262cc6f3a6fc39bf6bd1e7c20e39c1eeb1
https://etherscan.io/tx/0xcbd16d06238b136390b1d914c3defddf378de59bf15906833d8fc25ccbc2f951
5、2020年9月15日上午5:50UTC—3920,000枚ETH通过多笔交易从@SBF_Alameda转移到0x9f9643c8b413b32c3a1270068487f341e5be8bfd。下面链接是这些交易中的一个示例:
https://etherscan.io/tx/0xd2f19e24961802ff29792e978844691f67e9c37173539cf86d204b68a9e91885
6、2020年9月15日上午06:10:03UTC—1,000,000枚SUSHI代币从多重签名财务帐户转移到@SBF_Alameda。
https://etherscan.io/tx/0xe5a08db5e46cff54ac0bc15e5c307bc68daba03c1edd17e7cb4b4044d79ac435
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。