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

这篇具有很好参考价值的文章主要介绍了从The Saudis NFT事件浅析EIP-2535钻石协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

智能合约突破 24kb 大小的最大限制,并且让合约更方便地更新功能。

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

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

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

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

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

整个钻石模型类似下图:

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

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

在该钻石合约中不同的函数功能需要调用对应的不同的切面合约的代码来实现,并且可以利用钻石切割的功能来对钻石合约中的函数功能进行修改(添加、替换或删除)。

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

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

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

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

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

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

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

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

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

至此可得知 The Saudis 项目方就是利用了钻石切割函数来重写了转账功能,以此来将用户 RIGHTBLOCK 手中的 NFT 转移回自己的账户。文章来源地址https://www.toymoban.com/news/detail-442890.html

到了这里,关于从The Saudis NFT事件浅析EIP-2535钻石协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • The Sandbox NFT 概览与数据分析

    作者:stella@footprint.network 编译:cici@footprint.network    数据源:The Sandbox NFT Collection Dashboard Sandbox NFT 系列包括独特的体素资产和 LAND 地块,使所有者能够在 The Sandbox 元宇宙中构建、玩虚拟体验并从中获利。这个NFT项目会在2024年崛起吗? 关于 The Sandbox The Sandbox 是一个动态的

    2024年02月20日
    浏览(52)
  • The Captainz NFT 概览与数据分析

    作者:stella@footprint.network 编译:cici@footprint.network    数据源:The Captainz NFT Collection Dashboard The Captainz 是 Memeland 的旗舰系列,由 9,999 个实用性极强的 PFP 组成。持有者在 Memeland 宇宙中展开了一场神话般的探索,并通过 Memeland DAO 参与治理。这个 NFT 项目会在 2024 年崛起吗?

    2024年02月22日
    浏览(34)
  • 一致性协议浅析

    Paxos 发明者是大名鼎鼎的 Lesile Lamport。Lamport 虚拟了一个叫做 Paxos 的希腊城邦,城邦按照议会民主制的政治模式制定法律。在 Lesile Lamport 的论文中,提出了 Basic Paxos、Multi Paxos、Fast Paxos 三种模型。 Client :系统外部角色,请求发起者,类比于民众。 Proposer :接收 Client 请求,

    2024年01月18日
    浏览(47)
  • vrrp协议与keepalived浅析

    1、VRRP 协议简介 vrrp: Virtual Redundent Routing Protocol 虚拟冗余路由协议 ​ 在现实的网络环境中两台需要通信的主机大多数情况下并没有直接的物理连接。对于这样的情况它们之间路由怎样选择主机如何选定到达目的主机的下一跳路由,这个问题通常的解决方法有二种: 在主机上

    2024年02月11日
    浏览(35)
  • 超级明星们的人物化身 NFT 将来到 The Sandbox 元宇宙

    超级明星队 NFT 将在 The Sandbox 的全球运动村体验中亮相! ​ The Sandbox 与 Web3 公司 Forj 达成合作,还获得了独特的 BAYC 无聊猿人物化身的授权。 NFTSTAR 在 The Sandbox 建造了新的体验,巴西足球明星内马尔(Neymar JR.)、亚洲足球巨星孙兴慜(Son Heung-Min)和葡萄牙足球传奇人物路

    2024年02月08日
    浏览(43)
  • NFT Insider #72:The Sandbox 阿尔法第三季正式启动,耐克NFT已产生超过1.85亿美元的收入

    引言:NFT Insider由WHALE社区、BeepCrypto联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周报将从NFT市场数据,艺术新闻类,游戏新闻类,虚拟世界类,其他动态类,五个角度剖析NFT市场现状,了解NFT,读NFT Insider周报就够了。 市场数据 宏

    2024年01月17日
    浏览(47)
  • 浅析安全传输协议HTTPS之“S”

    当前互联网,在各大浏览器厂商和 CA厂商 的推动下,掀起了一股 HTTPS应用 浪潮。为了让大家更好的了解HTTPS,本文给大家介绍关于HTTPS 中的S一个整体的认识。从其产生的历史背景、设计目标说起,到分析其协议设计结构、交互流程是如何实现其目标。 历史 S代表Secure,所以

    2024年04月10日
    浏览(48)
  • 生产力与生产关系 —— 浅析爱泼斯坦事件 之 弱电控制强电原理

    据网络文字与视频资料,爱泼斯坦事件是犹太精英阶层,为了掌控美国国家机器为犹太利益集团服务,而精心设下的一个局。本文先假设这个结论成立,并基于此展开讨论。 我们知道,弱电管理强电是电气工程中的一门专门学问,那么这件事上,犹太人就利用了这门学科的原

    2024年01月20日
    浏览(29)
  • 浅析“04.23王者荣耀KPL比赛因出现硬件异常导致比赛延期”这一事件

    背景 不知道朋友们有没有看昨天晚上八点多的王者荣耀KPL比赛(成都AG超玩会VS广州TTG)这一场,当时比赛进行到快15分钟的时候出现了红方请求暂停的情况,后来比赛直播界面就一直提示如下: 本以为这个问题应该不算太严重,2小时足以修好。但是当晚直到晚上11点多,直

    2023年04月25日
    浏览(31)
  • 浅析 TLS(ECDHE)协议的握手流程(图解)

    通过 wireshark 抓取 HTTPS 包,理解 TLS 1.2 安全通信协议的握手流程。 重点理解几个点: TLS 握手流程:通过 wireshark 抓取 HTTPS 包理解。 协商加密:双方通过 ECDHE 椭圆曲线的密钥交换算法,协商出共享的 会话密钥 进行内容对称加密通信,避免传输会话密钥被中间人窃取。 CA 证

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包