背景信息
2022年?7月10號,一個火熱的NFT項目TheSaudis開啟了freemint活動。而就在mint活動結束后,一位名叫RIGHTBLOCK的用戶在市場上大量地拋售該NFT,項目方發現后迅速鎖定到了該用戶并對合約進行改動以此來將該用戶手里的大量NFT轉移回來,他們之后承諾會將這些NFT回饋給社區用戶。
那么為什么項目方可以將該用戶手里的NFT轉移呢?經過我們的分析發現該NFT項目的合約采用了EIP-2535協議也叫做鉆石協議,項目方利用該協議重寫了合約的功能,以此來實現這些NFT的轉移。接下來慢霧安全團隊將會為大家介紹下這個鉆石協議的細節。
15,000枚ETH從未知錢包轉入Gate.io:金色財經報道,Whale Alert監測顯示,北京時間11:15,15,000枚ETH(價值約28,719,012美元)從未知錢包轉入Gate.io。[2023/7/19 11:04:07]
鉆石協議介紹
EIP-2535是以太坊上一個將合約進行代碼模塊化組合的提案,其目的是為了讓大型的智能合約突破24kb大小的最大限制,并且讓合約更方便地更新功能。
要理解鉆石協議,首先有幾個相關的概念定義需要知道:
鉆石:鉆石可以理解為代理合約,也是與用戶進行交互的主合約
切面:正如真正的鉆石有不同的側面一樣,一個鉆石合約也有著不同的面,鉆石合約的每個功能所需要調用的合約對應一個切面,所以也可以理解為實現合約
Andre Cronje:允許fUSD作為鏈上收費系統:1月29日消息,Fantom聯創Andre Cronje發文,將從fUSD v1遷移至fUSD v2,允許fUSD作為鏈上收費系統,這意味著Fantom能夠以FTM或fUSD分配費用,并能夠根據使用情況預測未來成本。
fUSD v1將實施清算,fUSD債務等于或大于FTM或sFTM支持的任何頭寸都將被清算;在sFTM支持的情況下,質押將立即取消質押,并領取所有獎勵。此外,為了允許用戶平倉,還構建了將DAI兌換為fUSD的工具,以方便結清未嘗債務。[2023/1/29 11:35:17]
鉆石切割:鉆石協議標準擴展了一種叫鉆石切割的功能,其主要作用從鉆石中增加、替換或刪除切面和功能,可以理解為合約的升級
數據:179,500,000枚XRP從未知錢包轉移到另一未知錢包:金色財經報道,據WhaleAlert監測數據顯示,179,500,000枚XRP(價值約63,135,788美元)從未知錢包轉移到另一未知錢包。[2022/12/19 21:52:44]
放大鏡:鉆石協議標準中的放大鏡功能主要是返回關于切面的信息和鉆石存在的功能,這些信息是保存在鉆石合約內部的存儲結構——DiamondStorage中
整個鉆石模型類似下圖:
通過使用鉆石標準規范去創建鉆石合約,這個合約可以像使用當前合約的代碼一樣使用任何數量的其他切面合約的代碼。
NHL與NFT平臺Sweet將合作推出系列NFT及市場:6月23日消息,由北美冰球隊伍所組成的國家冰球聯盟(NHL)宣布與NFT平臺Sweet建立合作關系,將創建一個NFT系列及市場,NFT包括過去和現在的NHL球員。相關NFT市場將具有游戲化元素,允許粉絲彼此互動。[2022/6/23 1:27:39]
在該鉆石合約中不同的函數功能需要調用對應的不同的切面合約的代碼來實現,并且可以利用鉆石切割的功能來對鉆石合約中的函數功能進行修改。
這與市面上大多數使用一個代理合約和一個實現合約來實現交互與升級的方式有所區別。
事件分析
接下來回頭分析下TheSaudis這次事件中的一些細節,在該項目的DiamondCutFacet.sol合約中,可以看到實現了diamondCut功能的函數。
該函數首先會調用LibDiamond庫的enforceIsContractOwner函數來判斷調用者是否是合約的owner,如果是owner調用的話會調用LibDiamond庫的diamondCut函數來實現鉆石合約的功能更新。
跟進到該函數我們發現鉆石切割會根據傳入的不同的action來判斷進行添加、替換或刪除功能,故接下來跟進看看項目方調用該函數的交易。
我們發現傳入了新的切面合約0x70d8ccaf6b50b051ab1e8fa238626163e45a8b03,傳入的action設置為1則應該是調用了replaceFunctions?來實現替換功能。
從replaceFunctions函數中可以分析出該函數首先會為傳入的地址新增一個切面,接著從存儲中循環讀取傳入的每個函數選擇器對應的舊的切面進行刪除,并為這些函數的切面添加為傳入的新的切面地址。
至此可得知TheSaudis項目方就是利用了鉆石切割函數來重寫了轉賬功能,以此來將用戶RIGHTBLOCK手中的NFT轉移回自己的賬戶。
相關信息
TheSaudis合約地址:
0xe21ebcd28d37a67757b9bc7b290f4c4928a430b1
用戶Rightblock地址:
0x80266b1e3f0C2cAdAE65A4Ef5Df20f3DF3707FfB
項目方更新合約的交易:
0xbc559a72f73e6c9a53416fd13a3ebaaa76dca5855ff8b79511585f514eaf2390
來源:金色財經
Tags:NFTUSDDIAdiamond1MillionNFTs$USDEBTCrypto Gladiator ShardsFreshCut Diamond
關于DAO的法律結構一直是大家所關注的問題。CarbonEqualDao發起人蔡宋輝先生撰寫了DAO在美國以及一些國際司法管轄區使用的各種法律結構.
1900/1/1 0:00:00頭條 ▌英格蘭銀行副行長:加密貨幣必須在監管框架內7月13日消息,英格蘭銀行副行長JonCunliffe將加密貨幣市場比作一架不安全的飛機,“人們不會在不安全的飛機上待太久.
1900/1/1 0:00:00關于NFT資產和元數據的重要性現如今你應該已經有所耳聞。說的更具體些,NFT資產和元數據儲存在哪里?這是最終的決定性因素,決定你的NFT能持續多久,是否能夠永存,或者是否會在某天突然消失?本文將.
1900/1/1 0:00:00SeeleNDAO功能通證SEELE將于2022年7月18日10:00-2022年7月19日10:00(UTC+8)上線Gate.ioStartup.
1900/1/1 0:00:007月12日,由中國化工企業管理協會主辦的“2022全國化工企業數智化轉型發展論壇”在淄博成功舉辦.
1900/1/1 0:00:00在凍結用戶提款和轉帳約一個月后,加密貨幣借貸平臺Celsius今日正式宣布,該公司已自愿向紐約南區聲請破產保護,成為繼三箭資本、VoyagerDigital之后.
1900/1/1 0:00:00