買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > LTC > Info

DIA:從 The Saudis 事件淺析 EIP-2535 鉆石協議_xNFT價格

Author:

Time:1900/1/1 0:00:00

背景信息

2022 年?7 月 10 號,一個火熱的 NFT 項目 TheSaudis 開啟了 freemint 活動(白名單用戶可以免費鑄造其 NFT)。而就在 mint 活動結束后,一位名叫 RIGHTBLOCK 的用戶在市場上大量地拋售該 NFT,項目方發現后迅速鎖定到了該用戶并對合約進行改動以此來將該用戶手里的大量 NFT 轉移回來,他們之后承諾會將這些 NFT 回饋給社區用戶。

那么為什么項目方可以將該用戶手里的 NFT 轉移呢?經過我們的分析發現該 NFT 項目的合約采用了 EIP-2535 協議也叫做鉆石協議,項目方利用該協議重寫了合約的功能,以此來實現這些 NFT 的轉移。接下來慢霧安全團隊將會為大家介紹下這個鉆石協議(EIP-2535)的細節。

Jack Dorsey:Damus 已從 Apple 應用商店下架:6月27日消息,Twitter 前 CEO Jack Dorsey 發推表示,開放社交應用 Damus 已從 Apple 應用商店中下架,以便無需銀行、支付卡或政府許可即可向世界上的每個人提供小費。Jack Dorsey 還在推特上詢問 Tim Cook 為何 Apple Pay 不支持比特幣。[2023/6/27 22:03:51]

EIP-2535 是以太坊上一個將合約進行代碼模塊化組合的提案,其目的是為了讓大型的智能合約突破 24kb 大小的最大限制,并且讓合約更方便地更新功能。

要理解鉆石協議,首先有幾個相關的概念定義需要知道:

鉆石(diamond): 鉆石可以理解為代理合約(Proxy),也是與用戶進行交互的主合約

DWF Labs 從 Floki 財庫購買價值 500 萬美元的 FLOKI 代幣:5月25日消息,Shiba Inu 犬種主題項目 Floki 宣布于 Web3 投資公司 DWF Labs 建立戰略合作伙伴關系,DWF Labs 已從 Floki 財庫購買了價值 500 萬美元的 FLOKI 代幣,并將通過其網絡和資源來幫助加速 FLOKI 代幣的采用。[2023/5/25 10:40:31]

切面(facet): 正如真正的鉆石有不同的側面一樣,一個鉆石合約也有著不同的面,鉆石合約的每個功能所需要調用的合約對應一個切面,所以也可以理解為實現合約 (Implementation)

鉆石切割(diamondCut): 鉆石協議標準擴展了一種叫鉆石切割的功能,其主要作用從鉆石中增加、替換或刪除切面和功能,可以理解為合約的升級 (Upgrade)

數據:7000 萬 USDT 從 Tether 金庫轉至 Bitfinex:12月15日消息,Whale Alert 數據顯示,北京時間 10:44:51,7000 萬枚 USDT 從 Tether 金庫轉至加密交易所 Bitfinex。[2022/12/15 21:46:26]

放大鏡(The Loupe): 鉆石協議標準中的放大鏡功能主要是返回關于切面的信息和鉆石存在的功能,這些信息是保存在鉆石合約內部的存儲結構——DiamondStorage 中

整個鉆石模型類似下圖:

通過使用鉆石標準規范去創建鉆石合約,這個合約可以像使用當前合約的代碼一樣使用任何數量的其他切面合約的代碼。

應用研究機構 Other Internet 從 Uniswap 贈款計劃獲得 100 萬美元贈款:11月25日消息,應用研究機構 Other Internet 從 Uniswap 贈款計劃(Uniswap Grants Program,UGP)獲得 100 萬美元贈款,將用于在明年擴展其研究計劃并在 Uniswap 生態系統中進行新的治理實驗。

注,Other Internet 已于今年夏天完成對 Uniswap 鏈下治理和 Discord 社區的分析。[2021/11/25 7:10:00]

在該鉆石合約中不同的函數功能需要調用對應的不同的切面合約的代碼來實現,并且可以利用鉆石切割的功能來對鉆石合約中的函數功能進行修改(添加、替換或刪除)。

這與市面上大多數使用一個代理合約和一個實現合約來實現交互與升級的方式有所區別。

事件分析

接下來回頭分析下 The Saudis 這次事件中的一些細節,在該項目的 DiamondCutFacet.sol 合約中,可以看到實現了 diamondCut 功能的函數。

該函數首先會調用 LibDiamond 庫的 enforceIsContractOwner 函數來判斷調用者是否是合約的 owner,如果是 owner 調用的話會調用 LibDiamond 庫的 diamondCut 函數來實現鉆石合約的功能更新。

跟進到該函數我們發現鉆石切割會根據傳入的不同的 action 來判斷進行添加、替換或刪除功能,故接下來跟進看看項目方調用該函數的交易。

我們發現傳入了新的切面合約 0x70d8ccaf6b50b051ab1e8fa238626163e45a8b03(未開源),傳入的 action 設置為 1 則應該是調用了 replaceFunctions ?來實現替換功能。

從 replaceFunctions 函數中可以分析出該函數首先會為傳入的地址新增一個切面,接著從存儲中循環讀取傳入的每個函數選擇器對應的舊的切面進行刪除,并為這些函數的切面添加為傳入的新的切面地址。

至此可得知 The Saudis 項目方就是利用了鉆石切割函數來重寫了轉賬功能,以此來將用戶 RIGHTBLOCK 手中的 NFT 轉移回自己的賬戶。

相關信息

The Saudis 合約地址:

0xe21ebcd28d37a67757b9bc7b290f4c4928a430b1

用戶 Rightblock 地址:

0x80266b1e3f0C2cAdAE65A4Ef5Df20f3DF3707FfB

項目方更新合約的交易:

0xbc559a72f73e6c9a53416fd13a3ebaaa76dca5855ff8b79511585f514eaf2390

Tags:THENFTAMODIA3X Short Tether Gold TokenxNFT價格Samoyed Fan TokenCanadian Inuit Dog(NEW)

LTC
USH:“多米諾骨牌”接連倒塌 加密貨幣的下一個“爆炸點”會在什么地方?_加密貨幣有哪幾種類型

今年以來,加密貨幣市場的悲壯真可謂是「聞者傷心聽者流淚」,該市場市值已經降至9000億美元左右,較年初蒸發超過2萬億美元.

1900/1/1 0:00:00
聯盟鏈:金色深核|“高并發”中的“文昌鏈”_BSN

編者按:本文內容源于2022年6月25日BSN月度說明會上邊界智能創始人曹恒對文昌鏈的匯報口述內容,會后邊界智能CTO奚海峰為內容增加了更為詳細的問題分析和分布式應用開發建議.

1900/1/1 0:00:00
OIN:一文厘清歷史發展過程中關于NFT定義的爭論_binance-coin

原文作者:chainleft.ethNFT 這三個字母縮寫相信絕大多數人并不陌生,但就算是加密行業資深玩家也無法給 NFT 下一個清晰的定義.

1900/1/1 0:00:00
TRU:金色前哨|Arbitrum發布AnyTrust主網Nova_FREETRUMP價格

金色財經報道,據offchain?labs官方消息,基于Arbitrum的AnyTrust技術構建的新主網已上線運行,很快將開放發布,供開發人員部署應用程序.

1900/1/1 0:00:00
NFT:巨鯨掃貨ENS域名 「Web3名片」成生意_ETH

7月4日,「000.eth」ENS域名以300ETH的價格成交,創下了歷史第二高的ENS域名成交價紀錄。在這筆交易發生之前,ENS域名市場已經躁動數日.

1900/1/1 0:00:00
加密貨幣:一圖讀懂 | 上海:到2025年 元宇宙相關產業規模達到3500億元_FTXT

據上海市人民政府7月8日消息,經市政府同意,《上海市培育“元宇宙”新賽道行動方案(2022&——2025年)》于近日印發.

1900/1/1 0:00:00
ads