背景信息
2022年?7月10号,一个火热的NFT项目TheSaudis开启了freemint活动。而就在mint活动结束后,一位名叫RIGHTBLOCK的用户在市场上大量地抛售该NFT,项目方发现后迅速锁定到了该用户并对合约进行改动以此来将该用户手里的大量NFT转移回来,他们之后承诺会将这些NFT回馈给社区用户。
那么为什么项目方可以将该用户手里的NFT转移呢?经过我们的分析发现该NFT项目的合约采用了EIP-2535协议也叫做钻石协议,项目方利用该协议重写了合约的功能,以此来实现这些NFT的转移。接下来慢雾安全团队将会为大家介绍下这个钻石协议的细节。
派盾:0x765776开头合约被攻击,被盗2万枚USDT已转入Railgun:6月19日消息,据PeckShield监测显示,0x765776开头合约被攻击,合约部署者已损失2万枚USDT,目前已经换成2万枚DAI,并转入DeFi隐私协议Railgun。[2023/6/19 21:47:06]
钻石协议介绍
EIP-2535是以太坊上一个将合约进行代码模块化组合的提案,其目的是为了让大型的智能合约突破24kb大小的最大限制,并且让合约更方便地更新功能。
要理解钻石协议,首先有几个相关的概念定义需要知道:
钻石:钻石可以理解为代理合约,也是与用户进行交互的主合约
切面:正如真正的钻石有不同的侧面一样,一个钻石合约也有着不同的面,钻石合约的每个功能所需要调用的合约对应一个切面,所以也可以理解为实现合约
过去两天赵长鹏净资产缩水14亿美元,Coinbase CEO净资产缩水3.61亿美元:6月7日消息,根据彭博亿万富翁指数,过去两天,币安首席执行官赵长鹏的净资产缩水 14 亿美元至 260 亿美元,而 Coinbase 首席执行官 Brian Armstrong 的净资产缩水 3.61 亿美元至 22 亿美元。这是因为美 SEC 起诉两家公司违反证券规则,导致几家加密相关公司的股票和代币暴跌。[2023/6/7 21:21:09]
钻石切割:钻石协议标准扩展了一种叫钻石切割的功能,其主要作用从钻石中增加、替换或删除切面和功能,可以理解为合约的升级
放大镜:钻石协议标准中的放大镜功能主要是返回关于切面的信息和钻石存在的功能,这些信息是保存在钻石合约内部的存储结构——DiamondStorage中
瑞士信贷上个季度为客户持有3200万美元的数字资产:金色财经报道,根据监管文件,瑞士信贷在第二季度末为其客户持有3100 万瑞士法郎(约合 3200 万美元)的资产和负债,并隐晦地描述如下:其中数字资产保护资产。它没有报告在前两个季度持有这些资产。该文件没有提供数字资产的具体数额。
一位知情人士说,瑞士信贷披露,它根据美国证券交易委员会的会计准则为其客户持有代币化证券。所谓的“?SAB 121?”指示为客户持有“加密资产”的公司在资产负债表上将其报告为资产和负债。监管机构在 3 月份公布了该指南,以强调加密货币托管的“重大风险”。瑞士信贷在其年度报告中指出,它现在遵循该会计准则。[2022/9/1 13:01:18]
整个钻石模型类似下图:
Azuki系列NFT近24小时交易额增长超200%,地板价涨至8.8ETH:金色财经报道,据NFTGo最新数据显示,Azuki系列NFT过去24小时的交易额为1,685,570.92美元,增长率为239.24%。截至发稿时,NFTGo数据显示Azuki地板价为8.8ETH,24小时涨幅为25.89%。[2022/8/26 12:50:10]
通过使用钻石标准规范去创建钻石合约,这个合约可以像使用当前合约的代码一样使用任何数量的其他切面合约的代码。
在该钻石合约中不同的函数功能需要调用对应的不同的切面合约的代码来实现,并且可以利用钻石切割的功能来对钻石合约中的函数功能进行修改。
这与市面上大多数使用一个代理合约和一个实现合约来实现交互与升级的方式有所区别。
SIX Digital Exchange与 Fireblocks合作提供加密货币托管服务:金色财经报道,SIX Digital Exchange旗下Web3机构SDX Web3 Services 宣布与 Fireblocks建立战略合作伙伴关系,预计将在2022年下半年为金融机构和机构投资者提供加密货币托管服务,起初将支持一些主流加密货币,但随后将拓展到其他代币。据悉,除了提供密钥存储服务之外,SDX Web3 Services 还将支持交易执行和合规服务,未来还将提供非托管质押服务。[2022/7/6 1:55:35]
事件分析
接下来回头分析下TheSaudis这次事件中的一些细节,在该项目的DiamondCutFacet.sol合约中,可以看到实现了diamondCut功能的函数。
该函数首先会调用LibDiamond库的enforceIsContractOwner函数来判断调用者是否是合约的owner,如果是owner调用的话会调用LibDiamond库的diamondCut函数来实现钻石合约的功能更新。
跟进到该函数我们发现钻石切割会根据传入的不同的action来判断进行添加、替换或删除功能,故接下来跟进看看项目方调用该函数的交易。
我们发现传入了新的切面合约0x70d8ccaf6b50b051ab1e8fa238626163e45a8b03,传入的action设置为1则应该是调用了replaceFunctions?来实现替换功能。
从replaceFunctions函数中可以分析出该函数首先会为传入的地址新增一个切面,接着从存储中循环读取传入的每个函数选择器对应的旧的切面进行删除,并为这些函数的切面添加为传入的新的切面地址。
至此可得知TheSaudis项目方就是利用了钻石切割函数来重写了转账功能,以此来将用户RIGHTBLOCK手中的NFT转移回自己的账户。
相关信息
TheSaudis合约地址:
0xe21ebcd28d37a67757b9bc7b290f4c4928a430b1
用户Rightblock地址:
0x80266b1e3f0C2cAdAE65A4Ef5Df20f3DF3707FfB
项目方更新合约的交易:
0xbc559a72f73e6c9a53416fd13a3ebaaa76dca5855ff8b79511585f514eaf2390
来源:金色财经
标签:NFTAMODIAMONUNFT币Diamond DNDWrapped Bitcoin DiamondDIAMONDS价格
昨天也是看到一则新闻,就是关于日本前首相安倍晋三在演讲的时候遭到遇难,已经证实不治身亡,相信大家都已经看到了铺天盖地的报道,因为我们不讲这一块的啊.
1900/1/1 0:00:00比特币神秘发明者中本聪因估计持有约超过100万枚比特币,在去年比特币冲上历史高点时,资产价值超过690亿美元,挤身世界富豪榜前20名.
1900/1/1 0:00:00比特币合约分析:周一依然是先从周线级别来做解析定义,上周周K线冲高回落转阳收盘,按照弱势行情中的修正角度来说,走单阳的概率依然是较大,另外,周线级别上的5日均线位置还是压制.
1900/1/1 0:00:00如果我们要为互联网的去中心化铺平道路,我们最终会集中在三个支柱上:共识、存储和计算。如果人类成功地将这三者去中心化,我们将完全实现互联网的下一个迭代:Web3存储是第二个支柱,它正在迅速成熟,出.
1900/1/1 0:00:007月7日消息,安全团队CertiK今日发推文称,KleinBottle项目发生RugPull,其KLB代币下跌83%,初步预计大约有89000美元的代币被盗.
1900/1/1 0:00:00SeeleNDAO生态去中心化交易所CandySwap的上线,为生态提供了交易行为的底层支撑。随着双向跨链桥的开启,用户可以在以太坊网络和SeeleN网络间自由流转资产,进一步扩大了SeeleN.
1900/1/1 0:00:00