以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

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

Author:

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

背景信息

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

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

Juno Network 發布向從 Terra 遷移至 Juno 上項目提供激勵的提案:5月15日消息,Cosmos 生態智能合約公鏈 Juno Network 發布向從 Terra 遷移至 Juno 上項目提供激勵的提案。該提案建議提供 100 萬枚 JUNO(社區池提供 70 萬,發展基金提供 30 萬),用于項目遷移和持續開發,且該部分資金將由多簽地址管理。[2022/5/15 3:17:19]

鉆石協議介紹

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

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

美國、歐盟政府承諾從 SWIFT 系統中刪除“選定的”俄羅斯銀行:金色財經報道,美國和歐盟今日宣布了一項計劃,從環球銀行金融電信協會(SWIFT)中刪除一組俄羅斯銀行。SWIFT支撐著全球金融系統,每日處理數百萬條安全消息,幫助銀行管理世界各地的交易。該組織在聲明中表示,“我們承諾確保將選定的俄羅斯銀行從 SWIFT 中刪除。這將確保這些銀行與國際金融體系脫節,損害它們在全球運營的能力。”此外,該組織還承諾對俄羅斯央行采取行動。 “我們承諾采取限制性措施,阻止俄羅斯中央銀行以破壞我們制裁影響的方式部署其國際儲備。”(theblockcrypto)[2022/2/27 10:18:55]

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

NuCypher 已將共享策略訪問周期持續時間從 24 小時延長至 7 天:據官方消息,隱私基礎設施 NuCypher (NU)的關于將共享策略訪問周期持續時間以提升 Worker (節點運營方和質押者)潛在回報的第一項升級提案現已獲得通過,且已執行。目前,NuCypher 已將周期從 24 小時延長至 7 天,可降低 Worker 在鏈上作出承諾所需的累積 Gas 成本。[2021/4/15 20:21:32]

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

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

動態 | 2千萬枚 USDT從 Tether Treasury轉至 Bitfinex交易所:據 Whale Alert監測,剛剛2千萬枚 USDT從 Tether Treasury轉至 Bitfinex交易所。[2019/7/4]

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

整個鉆石模型類似下圖:

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

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

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

事件分析

接下來回頭分析下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:NFTTHEMONAMONFTIbitethereumMONKEYSAmorswap

歐易交易所app官網下載
傳統游戲廠商入局 能改變GameFi“資金盤”刻板印象嗎?_區塊鏈

出海一直是游戲的趨勢。國內游戲版號的發放肯定是在逐步收縮的,而GameFi提供了一個很好的出海新方向。游戲大廠正在加入鏈游的行列.

1900/1/1 0:00:00
區塊鏈模塊化:去中心化網絡和 web3 未來的心智模型_區塊鏈

在這篇文章中,作者將闡述什么是區塊鏈模塊化、模塊化堆棧的4個屬性和10個資源,以幫助您加深對Celestia的理解.

1900/1/1 0:00:00
北京首例比特幣“挖礦”合同案二審維持原判_區塊鏈

金色財經報道,近日,北京市第三中級人民法院宣判了一起比特幣“挖礦”合同糾紛二審案件。某公司與某區塊鏈公司簽訂系列合同,約定某公司委托該區塊鏈公司采購、管理微型存儲空間服務器、提供比特幣“挖礦”的.

1900/1/1 0:00:00
成都鏈安 | 2022年Q2全球Web3攻擊事件總損失約7億1834萬美元_EOS

2022年第二季度,成都鏈安鏈必應-區塊鏈安全態勢感知平臺共監測到Web3領域主要攻擊事件超48起,總損失約7億1834萬美元,較第一季度的12億美元下降約40%.

1900/1/1 0:00:00
WEB3技術發展探索:隱私保護計算_WEB3

數據流通行業進入密態時代,可信隱私計算將成為未來十幾年互聯網重點關注的領域。7月4日,螞蟻集團宣布面向全球開發者正式開源可信隱私計算框架“隱語”.

1900/1/1 0:00:00
回顧性分析:第 1 層鏈旋轉理論_區塊鏈

牛市優化敘事,熊市優化基本面。雖然這種說法過于籠統,但它可以作為參與者在不同市場環境下應該如何思考和反應的基本邏輯.

1900/1/1 0:00:00
ads