背景信息
2022年?7月10号,一个火热的NFT项目TheSaudis开启了freemint活动。而就在mint活动结束后,一位名叫RIGHTBLOCK的用户在市场上大量地抛售该NFT,项目方发现后迅速锁定到了该用户并对合约进行改动以此来将该用户手里的大量NFT转移回来,他们之后承诺会将这些NFT回馈给社区用户。
那么为什么项目方可以将该用户手里的NFT转移呢?经过我们的分析发现该NFT项目的合约采用了EIP-2535协议也叫做钻石协议,项目方利用该协议重写了合约的功能,以此来实现这些NFT的转移。接下来慢雾安全团队将会为大家介绍下这个钻石协议的细节。
以太坊巨鲸从 Bitfinex 转移了超8000万美元的ETH:金色财经消息,以太坊巨鲸从 Bitfinex 转移了价值 80,656,629 美元的以太坊,交易地址为:0x4862733b5fddfd35f35ea8ccf08f5045e57388b3。[2022/4/19 14:32:34]
钻石协议介绍
EIP-2535是以太坊上一个将合约进行代码模块化组合的提案,其目的是为了让大型的智能合约突破24kb大小的最大限制,并且让合约更方便地更新功能。
要理解钻石协议,首先有几个相关的概念定义需要知道:
钻石:钻石可以理解为代理合约,也是与用户进行交互的主合约
切面:正如真正的钻石有不同的侧面一样,一个钻石合约也有着不同的面,钻石合约的每个功能所需要调用的合约对应一个切面,所以也可以理解为实现合约
ENS 发起新提案,计划将过期域名的临时溢价从 2000 美元提高到 10 万美元:1月10日消息,以太坊域名项目ENS 现已在Snapshot发起对最新治理提案的投票,计划将过期域名的临时溢价起始价格从 2000 美元提高到 10 万美元,每小时下调150美元,并在28天后降低为0,以防止域名“狙击”的情况。[2022/1/10 8:37:41]
钻石切割:钻石协议标准扩展了一种叫钻石切割的功能,其主要作用从钻石中增加、替换或删除切面和功能,可以理解为合约的升级
放大镜:钻石协议标准中的放大镜功能主要是返回关于切面的信息和钻石存在的功能,这些信息是保存在钻石合约内部的存储结构——DiamondStorage中
整个钻石模型类似下图:
Audius、DODO、Livepeer 等应用从 The Graph 托管服务迁移到主网:6月11日消息,区块链数据索引项目 The Graph (GRT)表示,Audius、DODO、Livepeer、mStable、Opyn、PoolTogether、Reflexer 和 UMA 等应用现已完全从 The Graph 的托管服务迁移到主网,成为 The Graph 主网上的 10 个子图,且均可使用 GRT 来支付网络使用费。[2021/6/11 23:29:40]
通过使用钻石标准规范去创建钻石合约,这个合约可以像使用当前合约的代码一样使用任何数量的其他切面合约的代码。
14.7万枚LINK从 交易所转出 价值191万美元:据WhaleAlert数据显示,北京时间08月09日03:02, 14.7万枚LINK从交易所转入0x2906开头地址,按当前价格计算,价值约191万美元,交易哈希为:0xf973c51ad1718f2f42a72261ff3dc9dc4894fee329d150df39dee5cc84549cde。[2020/8/9]
在该钻石合约中不同的函数功能需要调用对应的不同的切面合约的代码来实现,并且可以利用钻石切割的功能来对钻石合约中的函数功能进行修改。
这与市面上大多数使用一个代理合约和一个实现合约来实现交互与升级的方式有所区别。
事件分析
接下来回头分析下TheSaudis这次事件中的一些细节,在该项目的DiamondCutFacet.sol合约中,可以看到实现了diamondCut功能的函数。
该函数首先会调用LibDiamond库的enforceIsContractOwner函数来判断调用者是否是合约的owner,如果是owner调用的话会调用LibDiamond库的diamondCut函数来实现钻石合约的功能更新。
跟进到该函数我们发现钻石切割会根据传入的不同的action来判断进行添加、替换或删除功能,故接下来跟进看看项目方调用该函数的交易。
我们发现传入了新的切面合约0x70d8ccaf6b50b051ab1e8fa238626163e45a8b03,传入的action设置为1则应该是调用了replaceFunctions?来实现替换功能。
从replaceFunctions函数中可以分析出该函数首先会为传入的地址新增一个切面,接着从存储中循环读取传入的每个函数选择器对应的旧的切面进行删除,并为这些函数的切面添加为传入的新的切面地址。
至此可得知TheSaudis项目方就是利用了钻石切割函数来重写了转账功能,以此来将用户RIGHTBLOCK手中的NFT转移回自己的账户。
相关信息
TheSaudis合约地址:
0xe21ebcd28d37a67757b9bc7b290f4c4928a430b1
用户Rightblock地址:
0x80266b1e3f0C2cAdAE65A4Ef5Df20f3DF3707FfB
项目方更新合约的交易:
0xbc559a72f73e6c9a53416fd13a3ebaaa76dca5855ff8b79511585f514eaf2390
2020年,万向区块链董事长肖风就断言区块链会出现万亿美元市值项目。当时大部分人第一反应是,率先能够达到万亿美金市值的肯定就是”公链”.
北京时间2022年7月15日21点,CertiK动态扫描监测系统Skynet天网监测到若干导致TIGER代币价格下跌的可疑交易.
作者:陈永伟 导读 《关于确保负责任地发展数字资产的行政命令》指出,加密技术的发展使得数字资产获得了迅速的增长,这对消费者、投资者和企业都产生了深远的影响.
近期加密市场依旧阴云笼罩,DeFi作为加密领域快速兴起的一个分支也受到了极大影响。在此期间,投资者目睹了?Terra?链上Anchor等DeFi协议的崩盘、质押服务平台Lido上持续的流动性萎缩.
作者:韩锋 来源:韩锋区块链工作室 本文为韩锋老师在数藏Web3大会上的演讲。韩锋:大家好,今天我在清华科技园,因为不能去深圳,所以受深创学院宝石院长的邀请,跟大家做一个视频的分享和交流.
在下行市场中,Aave、Compound等超额抵押借贷平台因为抵押品价值始终高于债务,平台与用户资金始终是安全的.