宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Polygon > 正文

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

作者:

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

背景信息

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

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

约4.84亿枚USDT从Tether Treasury经未知钱包地址转至Bitfinex:据Whale Alert数据显示,北京时间5月23日01:49,约4.84亿枚USDT从Tether Treasury转至TBbwGL开头未知钱包地址,随后,该地址于01:53将约4.84亿枚USDT转入Bitfinex交易所。交易哈希分别为:99ec8ca852c6499996d3002fe10a487b172e5a56b682dd038063ce02ee849e9d;495474c4cbc9d054bc4121e46aaf7da50c8e9547b1f2901a5117462ea24b077e。[2021/5/23 22:33:14]

EIP-2535是以太坊上一个将合约进行代码模块化组合的提案,其目的是为了让大型的智能合约突破24kb大小的最大限制,并且让合约更方便地更新功能。要理解钻石协议,首先有几个相关的概念定义需要知道:钻石:钻石可以理解为代理合约,也是与用户进行交互的主合约切面:正如真正的钻石有不同的侧面一样,一个钻石合约也有着不同的面,钻石合约的每个功能所需要调用的合约对应一个切面,所以也可以理解为实现合约钻石切割:钻石协议标准扩展了一种叫钻石切割的功能,其主要作用从钻石中增加、替换或删除切面和功能,可以理解为合约的升级放大镜:钻石协议标准中的放大镜功能主要是返回关于切面的信息和钻石存在的功能,这些信息是保存在钻石合约内部的存储结构——DiamondStorage中整个钻石模型类似下图:

1200万枚USDT从Tether转向币安:据Whale alert消息,北京时间7月28日16:46,1200万枚USDT从Tether转向币安,交易哈希为:f1d81058aa3549477f644e21f231ffdaffa51a37e09fd520e30c5ea16dc426d1。[2020/7/28]

通过使用钻石标准规范去创建钻石合约,这个合约可以像使用当前合约的代码一样使用任何数量的其他切面合约的代码。在该钻石合约中不同的函数功能需要调用对应的不同的切面合约的代码来实现,并且可以利用钻石切割的功能来对钻石合约中的函数功能进行修改。这与市面上大多数使用一个代理合约和一个实现合约来实现交互与升级的方式有所区别。

700万枚USDT从Tether Treasury钱包转出:据WhaleAlert数据显示,北京时间04月14日11:30,700万枚USDT从Tether Treasury钱包转入0x8bb0开头地址,按当前价格计算,价值约706.5万美元。[2020/4/14]

事件分析

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

动态 | 500万枚USDT从Tether Treasury钱包转入Binance交易所:据WhaleAlert数据显示,北京时间02月19日07:27,500万枚USDT从Tether Treasury钱包转入Binance交易所,按当前价格计算,价值约499.6万美元,交易哈希为:0x7f61ffefde4f240899b14d7dcb97238904cbc23e4465a62ee9e5e462774615ef。[2020/2/19]

动态 | 数据显示:1998万枚USDT从Tether Treasury钱包转至Bitfinex交易所,:据Whale Alert数据监测,北京时间12月11日20:35, 1998万枚USDT从Tether Treasury钱包转入Bitfinex交易所,价值约2005.56万美元。[2019/12/11]

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

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

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

从replaceFunctions函数中可以分析出该函数首先会为传入的地址新增一个切面,接着从存储中循环读取传入的每个函数选择器对应的旧的切面进行删除,并为这些函数的切面添加为传入的新的切面地址。至此可得知TheSaudis项目方就是利用了钻石切割函数来重写了转账功能,以此来将用户RIGHTBLOCK手中的NFT转移回自己的账户。相关信息

TheSaudis合约地址:0xe21ebcd28d37a67757b9bc7b290f4c4928a430b1用户Rightblock地址:0x80266b1e3f0C2cAdAE65A4Ef5Df20f3DF3707FfB项目方更新合约的交易:0xbc559a72f73e6c9a53416fd13a3ebaaa76dca5855ff8b79511585f514eaf2390

标签:THEUSDUSDTSDTATHENAEUSD价格usdt币怎么开户GUSDT

Polygon热门资讯
星球日报 | ”沙丘“ DAO宣布解散 ; 以太坊gas只有去年5%

头条 当前以太坊日均gas费只有2021年11月的5%据NansenIntern披露,当前以太坊区块链上以美元支付的日均gas费用只有2021年11月的5%,当时以太坊每天的gas费用金额高达约6000万美元.

1900/1/1 0:00:00
什么是最终的「蓝筹」加密资产:BTC、NFT或LAND?

Jun.2022,VincyDataSource:FootprintAnalytics-BTC&ETHTrendAnalysis与上一次熊市相比,当今加密货币市场最大的变化是存在不同类型的资产.

1900/1/1 0:00:00
鉴于「当前市场状况」,Voyager Digital宣布暂停存取款和交易

Odaily星球日报译者|念银思唐 摘要: -VoyagerDigital今天宣布暂停其平台上的提款、存款和交易。-该公司本周向对冲基金三箭资本发出了违约通知。据报道,三箭欠Voyager价值约6.46亿美元的加密货币.

1900/1/1 0:00:00
慢雾:2022上半年区块链安全及反分析报告概览

前言 慢雾科技发布《2022上半年区块链安全及反分析报告》,聚焦于2022年上半年区块链行业所发生的重大事件,主要介绍区块链行业各赛道的安全状况,延伸并提炼出上半年发生的典型安全事件以及常见攻击手法.

1900/1/1 0:00:00
Circle + USDC的运营“四字经”:透明至上、收入求稳、注重合规

原文来源:NotBoringCapital原文编译:白泽研究院Crypto领域哪些产品是有用和真实的,哪些是炒作和庞氏局?爱好者似乎一致认为稳定币是最有用的,而在稳定币中,共识似乎又是:USDC是所有稳定币中最稳定的.

1900/1/1 0:00:00
W&M报告(四):Web3引导音乐粉丝加入的策略分析

本文来自TheSeeDAO。相关阅读:W&M报告:音乐NFT会迎来他们的PFP时刻吗?W&M报告:定义音乐NFT的所有权W&M报告:面向音乐人的Web3工具现状 太长不看版:尽管头条新闻通常是关于Web3中艺术.

1900/1/1 0:00:00