比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Uniswap > Info

從The Saudis NFT事件淺析EIP-2535鉆石協議_THE

Author:

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

原文作者:九九,慢霧安全團隊

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

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

1200萬枚USDT從Tether Treasury錢包轉出:WhaleAlert數據顯示,北京時間04月23日22:41, 1200萬枚USDT從Tether Treasury錢包轉入0x0080開頭地址,按當前價格計算,價值約1209.8萬美元,交易哈希為:0xefe59d727426306fdf2f1d9e8d66a39951f8a2da5aa8c32b6eee489119c6d4f2。[2020/4/23]

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

1000萬枚USDT從Tether Treasury錢包轉出,價值1010.6萬美元:WhaleAlert數據顯示,北京時間03月10日22:34, 1000萬枚USDT從Tether Treasury錢包轉入0x0c77開頭地址,按當前價格計算,價值約1010.6萬美元,交易哈希為:0xc03722fbce74f748ae383292e47d056d477b6bc40774dfda178f661ac6974c68。[2020/3/10]

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

動態 | 499.5萬枚USDT從Tether Treasury錢包轉出:據Whale Alert監測,北京時間02:19,499.5萬枚USDT從Tether Treasury錢包轉入0x7c70開頭地址。[2019/10/1]

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

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

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

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

整個鉆石模型類似下圖:

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

在該鉆石合約中不同的函數功能需要調用對應的不同的切面合約的代碼來實現,并且可以利用鉆石切割的功能來對鉆石合約中的函數功能進行修改。

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

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

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

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

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

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

Tags:NFTTHEETHERUSDSWISSNFTFUND價格togetherbnb手游下載安卓togetherbnb能推倒幾個usd幣匯率

Uniswap
歐易OKX與Tether達成合作,將基于OKX Chain發行USDT_DEF

7月13日,歐易OKX與Tether正式達成合作,Tether將基于OKXChain網絡發行USDT。OKC基于CosmosSDK構建,100%兼容EVM.

1900/1/1 0:00:00
美國6月CPI本周見!或續刷40多年來新高_GHT

能源、食品和住房成本持續高企,美國6月CPI或再度沖高。周一,據媒體報道,經濟學家普遍預計,本周三即將發布的美國6月CPI將續刷40多年來新高.

1900/1/1 0:00:00
搞 Web3 要學習哪些基礎知識?_AVE

Web3是經濟、金融、法律、機制設計等經濟社會學科與IT、數學、密碼學等數字信息科技交叉整合的新領域,它如此之新,以至于不僅沒有出現權威學者,甚至連一個基本知識體系都沒有梳理出來.

1900/1/1 0:00:00
盤點頭部DeFi治理代幣的賦能情況:dYdX一毛不拔,Synthetix悉數奉還_Uniswap

“治理代幣”隨著DeFi的崛起而得到推廣,它賦予了代幣持有者對項目的決策權力,若用戶的積極參與使項目向著好的方向發展,用戶持有的資產也可能隨之升值.

1900/1/1 0:00:00
KuCoin現貨做市商費率調整公告_COI

為了應對業務的發展和市場的變化,KuCoin將于近期執行新版做市商激勵計劃。新版計劃執行后,您和您的團隊將享受全市場最優的做市商費率和更為合理的評級規則.

1900/1/1 0:00:00
2022年上半年波場強勢躋身億級俱樂部_USDD

受通脹及加息影響,2022年上半年,全球總市值蒸發約25萬億美元,股市蒸發13萬億美元。加密市場亦損失慘重,Luna崩盤、Celsius暴雷、stETH脫錨等行業極端事件引發市場恐慌,大量資金外.

1900/1/1 0:00:00
ads