原文作者:九九,慢霧安全團隊
2022年7月10號,一個火熱的NFT項目TheSaudis開啟了freemint活動。而就在mint活動結束后,一位名叫RIGHTBLOCK的用戶在市場上大量地拋售該NFT,項目方發現后迅速鎖定到了該用戶并對合約進行改動以此來將該用戶手里的大量NFT轉移回來,他們之后承諾會將這些NFT回饋給社區用戶。
那么為什么項目方可以將該用戶手里的NFT轉移呢?經過我們的分析發現該NFT項目的合約采用了EIP-2535協議也叫做鉆石協議,項目方利用該協議重寫了合約的功能,以此來實現這些NFT的轉移。接下來慢霧安全團隊將會為大家介紹下這個鉆石協議的細節。
1000萬枚USDT從Tether Treasury錢包轉入交易所:據WhaleAlert數據顯示,北京時間08月01日06:57,1000萬枚USDT從Tether Treasury錢包轉入交易所,按當前價格計算,價值約999萬美元。[2020/8/1]
智能合約突破24kb大小的最大限制,并且讓合約更方便地更新功能。
要理解鉆石協議,首先有幾個相關的概念定義需要知道:
鉆石:鉆石可以理解為代理合約,也是與用戶進行交互的主合約
2000萬枚USDT從Tether Treasury錢包轉入Binance交易所:WhaleAlert數據顯示,北京時間05月29日08:24,2000萬枚USDT從Tether Treasury錢包轉入Binance交易所,按當前價格計算,價值約2004.5萬美元。[2020/5/29]
切面:正如真正的鉆石有不同的側面一樣,一個鉆石合約也有著不同的面,鉆石合約的每個功能所需要調用的合約對應一個切面,所以也可以理解為實現合約
鉆石切割:鉆石協議標準擴展了一種叫鉆石切割的功能,其主要作用從鉆石中增加、替換或刪除切面和功能,可以理解為合約的升級
1000萬枚USDT從Tether Treasury錢包轉出,價值1001.5萬美元:據WhaleAlert數據顯示,北京時間05月07日22:00, 1000萬枚USDT從Tether Treasury錢包轉入TJyf3b開頭地址,按當前價格計算,價值約1001.5萬美元,交易哈希為:c3b993e2363822a2aa91847966510e0a34ca8d785ad7fad79d062e3962a43c54。[2020/5/7]
放大鏡:鉆石協議標準中的放大鏡功能主要是返回關于切面的信息和鉆石存在的功能,這些信息是保存在鉆石合約內部的存儲結構——DiamondStorage中
整個鉆石模型類似下圖:
通過使用鉆石標準規范去創建鉆石合約,這個合約可以像使用當前合約的代碼一樣使用任何數量的其他切面合約的代碼。
在該鉆石合約中不同的函數功能需要調用對應的不同的切面合約的代碼來實現,并且可以利用鉆石切割的功能來對鉆石合約中的函數功能進行修改。
這與市面上大多數使用一個代理合約和一個實現合約來實現交互與升級的方式有所區別。
該函數首先會調用LibDiamond庫的enforceIsContractOwner函數來判斷調用者是否是合約的owner,如果是owner調用的話會調用LibDiamond庫的diamondCut函數來實現鉆石合約的功能更新。
跟進到該函數我們發現鉆石切割會根據傳入的不同的action來判斷進行添加、替換或刪除功能,故接下來跟進看看項目方調用該函數的交易。
我們發現傳入了新的切面合約0x70d8ccaf6b50b051ab1e8fa238626163e45a8b03,傳入的action設置為1則應該是調用了replaceFunctions來實現替換功能。
從replaceFunctions函數中可以分析出該函數首先會為傳入的地址新增一個切面,接著從存儲中循環讀取傳入的每個函數選擇器對應的舊的切面進行刪除,并為這些函數的切面添加為傳入的新的切面地址。
至此可得知TheSaudis項目方就是利用了鉆石切割函數來重寫了轉賬功能,以此來將用戶RIGHTBLOCK手中的NFT轉移回自己的賬戶。
Tags:THENFTETHEUSDtogetherbnb手游下載安卓元宇宙app官方版下載nftEther-1Dola USD Stablecoin
區塊鏈技術擁有極大的潛力,將為傳統商業貿易、金融行業乃至人類社會帶來巨大變革。BWC由知名區塊鏈研發團隊MARK團隊打造的,一個全新為鉆石珠寶數權流通的支付token,基于以太坊發行,并充分利用.
1900/1/1 0:00:00一、項目介紹 MobiPad是第一個帶有移動應用程序的區塊鏈啟動板,為投資者提供早期投資的有效解決方案,同時通過我們建立的反地毯機制確保系統無風險.
1900/1/1 0:00:00最先進的數字代幣交易平臺Bitfinex宣布,它已經上架Convergence(CONV)代幣,這是一家旨在實現目標的自動化做市商(AMM).
1900/1/1 0:00:00親愛的BitMart用戶:BitMart將于2022年7月20日上線代幣PORTOKEN(POR)。屆時將開通POR/USDT交易對.
1900/1/1 0:00:007月12日消息,Upbit運營商Dunamu宣布將在未來5年內投資5000億韓元,并在首爾總部和地區辦公室創造1萬個新工作崗位.
1900/1/1 0:00:00親愛的8V用戶: 8V平臺為全球首家元宇宙生態數字資產交易所,擁有元宇宙現貨幣幣交易30款此外還提供多樣的產品服務.
1900/1/1 0:00:00