火星链 火星链
Ctrl+D收藏火星链
首页 > 比特币 > 正文

AMO:从 The Saudis 事件浅析 EIP-2535 钻石协议

作者:

时间:1900/1/1 0:00:00

背景信息

2022年?7月10号,一个火热的NFT项目TheSaudis开启了freemint活动。而就在mint活动结束后,一位名叫RIGHTBLOCK的用户在市场上大量地抛售该NFT,项目方发现后迅速锁定到了该用户并对合约进行改动以此来将该用户手里的大量NFT转移回来,他们之后承诺会将这些NFT回馈给社区用户。

那么为什么项目方可以将该用户手里的NFT转移呢?经过我们的分析发现该NFT项目的合约采用了EIP-2535协议也叫做钻石协议,项目方利用该协议重写了合约的功能,以此来实现这些NFT的转移。接下来慢雾安全团队将会为大家介绍下这个钻石协议的细节。

Cyber apital创始人:BTC的管理在Bitcoin Core下是有效的中心化的:金色财经报道,Cyber apital创始人Justin Bons在社交媒体上称,BTC的管理在Bitcoin Core下是有效的中心化的。有一个主要的维护者拥有最终决定权;使其成为一个独裁政权。就像所有的独裁政权一样,他们能做的事情是有限的。然而,这仍然是对真正的去中心化的彻底颠覆。[2023/6/26 21:59:53]

钻石协议介绍

EIP-2535是以太坊上一个将合约进行代码模块化组合的提案,其目的是为了让大型的智能合约突破24kb大小的最大限制,并且让合约更方便地更新功能。

要理解钻石协议,首先有几个相关的概念定义需要知道:

钻石:钻石可以理解为代理合约,也是与用户进行交互的主合约

OpenSea Pro已集成NFT交易协议SudoSwap V2版本:6月15日消息,据官方推特,NFT市场OpenSea Pro(原名Gem)宣布集成NFT交易协议SudoSwap V2版本。用户现在可以在OpenSea Pro上购买在SudoSwap V2上架的NFT。[2023/6/15 21:38:33]

切面:正如真正的钻石有不同的侧面一样,一个钻石合约也有着不同的面,钻石合约的每个功能所需要调用的合约对应一个切面,所以也可以理解为实现合约

钻石切割:钻石协议标准扩展了一种叫钻石切割的功能,其主要作用从钻石中增加、替换或删除切面和功能,可以理解为合约的升级

放大镜:钻石协议标准中的放大镜功能主要是返回关于切面的信息和钻石存在的功能,这些信息是保存在钻石合约内部的存储结构——DiamondStorage中

PeckShield:BNB Chain上FCS代币发生RugPull,盗取金额近260万美元:1月4日消息,PeckShield在推特上表示,BNB Chain上FCS代币发生Rug Pull,代币价格已下跌99.7%,被盗取的资产价值约259万美元,目前被盗资金存放在0xbdb9509E1ad6847D6564C5430b0cD42484CE1bd6中。[2023/1/4 9:52:08]

整个钻石模型类似下图:

数据:100,000,000枚USDT从BitDao转移到未知钱包:金色财经报道,据Whale Alert监测数据显示,100,000,000枚USDT(价值约100,110,000美元)从BitDao转移到未知钱包。[2022/12/31 22:18:31]

通过使用钻石标准规范去创建钻石合约,这个合约可以像使用当前合约的代码一样使用任何数量的其他切面合约的代码。

在该钻石合约中不同的函数功能需要调用对应的不同的切面合约的代码来实现,并且可以利用钻石切割的功能来对钻石合约中的函数功能进行修改。

这与市面上大多数使用一个代理合约和一个实现合约来实现交互与升级的方式有所区别。

数据:80万枚BNB从Binance转移到未知钱包:金色财经报道,Whale Alert监测数据显示,800,000枚BNB(价值约238,244,050美元)从Binance转移到未知钱包。[2022/11/24 8:04:32]

事件分析

接下来回头分析下TheSaudis这次事件中的一些细节,在该项目的DiamondCutFacet.sol合约中,可以看到实现了diamondCut功能的函数。

该函数首先会调用LibDiamond库的enforceIsContractOwner函数来判断调用者是否是合约的owner,如果是owner调用的话会调用LibDiamond库的diamondCut函数来实现钻石合约的功能更新。

跟进到该函数我们发现钻石切割会根据传入的不同的action来判断进行添加、替换或删除功能,故接下来跟进看看项目方调用该函数的交易。

我们发现传入了新的切面合约0x70d8ccaf6b50b051ab1e8fa238626163e45a8b03,传入的action设置为1则应该是调用了replaceFunctions?来实现替换功能。

从replaceFunctions函数中可以分析出该函数首先会为传入的地址新增一个切面,接着从存储中循环读取传入的每个函数选择器对应的旧的切面进行删除,并为这些函数的切面添加为传入的新的切面地址。

至此可得知TheSaudis项目方就是利用了钻石切割函数来重写了转账功能,以此来将用户RIGHTBLOCK手中的NFT转移回自己的账户。

相关信息

TheSaudis合约地址:

0xe21ebcd28d37a67757b9bc7b290f4c4928a430b1

用户Rightblock地址:

0x80266b1e3f0C2cAdAE65A4Ef5Df20f3DF3707FfB

项目方更新合约的交易:

0xbc559a72f73e6c9a53416fd13a3ebaaa76dca5855ff8b79511585f514eaf2390

来源:金色财经

标签:NFTAmondiamondAMOxNFT ProtocolBinamonDIAMONDSADAMoracle

比特币热门资讯
Magi:The Saudis 沙特人简评

项目发展分析:1.背景:??以奥迪王国为背景,展示了许多石油、金钱、权力和游戏的参与者。2.项目所表达的意义以国家为背景,绘画人物头像,从巴基斯坦的移民工人到中央情报局的特工、能源分析师、沙.

1900/1/1 0:00:00
FOR:5G硬核的“潮流中国”超级空投 独家送周杰伦方文山潮流礼包

为了响应中共中央办公厅、国务院办公厅《关于推进实施国家文化数字化战略的意见》的号召,通过数字化技术来推动文化产业发展,扩大国家文化的影响力和传播力,践行文化强国建设战略.

1900/1/1 0:00:00
EPE:7.7市场处于低迷状态 保持震荡趋势

7.7比特币行情解析大饼昨日v型反转后回踩至19780支撑附近,未能向下破位随后震荡上行,高位触及20670一线承压回落,目前币价在20400附近震荡,四小时级别行情在布林带中上轨运行.

1900/1/1 0:00:00
BOBA:7月12日:BTC最新行情分析 短线BTC合约操作思路策略

比特币合约分析:昨日方面,日线再度连阴收盘,对于日线中的连阴修正,当然还是要去博延续,所以在当前几乎没有需要着重来做解析.

1900/1/1 0:00:00
USD:Cudos 深聊 | 元宇宙的可及性和包容性

大众对元宇宙的热情持续高涨,这很容易理解。毕竟,当一个深度沉浸、开放与持久的虚拟世界的前景摆在面前,谁不会感到兴奋呢?曾经只存在于科幻小说和影视剧中的梦想现在已经是一个即将到来的现实.

1900/1/1 0:00:00
今日10:30 金色数藏连线同道大叔

今日10:30?|?金色数藏连线同道大叔数字藏品究竟有什么价值?《嘻哈一夏》数字藏品如何抢购?恋爱分手后最狠心的星座是谁?7月如何水逆退散?20%以上节点在以太坊主网第7次影子分叉中掉线.

1900/1/1 0:00:00