原文作者:九九,慢雾安全团队
2022年7月10号,一个火热的NFT项目TheSaudis开启了freemint活动。而就在mint活动结束后,一位名叫RIGHTBLOCK的用户在市场上大量地抛售该NFT,项目方发现后迅速锁定到了该用户并对合约进行改动以此来将该用户手里的大量NFT转移回来,他们之后承诺会将这些NFT回馈给社区用户。
那么为什么项目方可以将该用户手里的NFT转移呢?经过我们的分析发现该NFT项目的合约采用了EIP-2535协议也叫做钻石协议,项目方利用该协议重写了合约的功能,以此来实现这些NFT的转移。接下来慢雾安全团队将会为大家介绍下这个钻石协议的细节。
6000万枚USDT从Tether Treasury转入币安:金色财经报道,Whale Alert数据显示,北京时间11月11日05:36,6000万枚USDT从Tether Treasury转入币安。交易哈希为:9444d813d84721b15de729d8f5eb3a7489cbab62b629d21b5f9cd1ba725762d5。[2020/11/11 12:15:34]
智能合约突破24kb大小的最大限制,并且让合约更方便地更新功能。
1500万枚USDT从Tether Treasury钱包转出至火币交易所:Whale Alert数据显示,北京时间6月3日8:09前后,1500万枚USDT从Tether Treasury钱包转至以TWDjXK开头的未知地址,随后该未知地址将1500万枚USDT转至火币交易所。按当前价格计算,价值约1494万美元。[2020/6/3]
要理解钻石协议,首先有几个相关的概念定义需要知道:
钻石:钻石可以理解为代理合约,也是与用户进行交互的主合约
1000万枚USDT从Tether Treasury钱包转出,价值约1004.7万美元:WhaleAlert数据显示,北京时间04月11日22:42,1000万枚USDT从Tether Treasury钱包转入0x0c77开头地址,按当前价格计算,价值约1004.7万美元。[2020/4/11]
切面:正如真正的钻石有不同的侧面一样,一个钻石合约也有着不同的面,钻石合约的每个功能所需要调用的合约对应一个切面,所以也可以理解为实现合约
钻石切割:钻石协议标准扩展了一种叫钻石切割的功能,其主要作用从钻石中增加、替换或删除切面和功能,可以理解为合约的升级
放大镜:钻石协议标准中的放大镜功能主要是返回关于切面的信息和钻石存在的功能,这些信息是保存在钻石合约内部的存储结构——DiamondStorage中
整个钻石模型类似下图:
通过使用钻石标准规范去创建钻石合约,这个合约可以像使用当前合约的代码一样使用任何数量的其他切面合约的代码。
在该钻石合约中不同的函数功能需要调用对应的不同的切面合约的代码来实现,并且可以利用钻石切割的功能来对钻石合约中的函数功能进行修改。
这与市面上大多数使用一个代理合约和一个实现合约来实现交互与升级的方式有所区别。
该函数首先会调用LibDiamond库的enforceIsContractOwner函数来判断调用者是否是合约的owner,如果是owner调用的话会调用LibDiamond库的diamondCut函数来实现钻石合约的功能更新。
跟进到该函数我们发现钻石切割会根据传入的不同的action来判断进行添加、替换或删除功能,故接下来跟进看看项目方调用该函数的交易。
我们发现传入了新的切面合约0x70d8ccaf6b50b051ab1e8fa238626163e45a8b03,传入的action设置为1则应该是调用了replaceFunctions来实现替换功能。
从replaceFunctions函数中可以分析出该函数首先会为传入的地址新增一个切面,接着从存储中循环读取传入的每个函数选择器对应的旧的切面进行删除,并为这些函数的切面添加为传入的新的切面地址。
至此可得知TheSaudis项目方就是利用了钻石切割函数来重写了转账功能,以此来将用户RIGHTBLOCK手中的NFT转移回自己的账户。
尊敬的CoinW用户:LUNCH4S、SHIT4S、ETF产品将于2022/7/1517:00(UTC8)完成合股并恢复交易.
1900/1/1 0:00:00随着AI、大数据、云计算、IoT等技术的日益发展,人类的生活和工作场景都离不开数字化,社交、消费、学习等行为都被数字化的解决方案深深影响.
1900/1/1 0:00:00尊敬的XT.COM用戶:因GHC-BEP20錢包升級維護,XT.COM現已暫停GHC-BEP20提現業務。給您帶來的不便,請您諒解!感謝您對XT.COM的支持與信任.
1900/1/1 0:00:00尊敬的唯客用户您好!夏季大放送满额天天抽活动时间:2022/06/2912:00?至?2022/07/1211:59活动三:满额天天抽活动方式:活动期间单日充值满100USDT.
1900/1/1 0:00:00牛市和熊市经常被用来描述市场状况,无论是股票市场还是加密货币市场。一般来说,牛市是价格上涨的市场,而熊市是价格下跌的市场。看涨是一种资产或资产类别,甚至是一个项目的价值将增长的信念.
1900/1/1 0:00:007月13日消息,去中心化社交协议Farcaster完成3000万美元融资,本轮融资由a16z领投.
1900/1/1 0:00:00