比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

Author:

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

背景信息

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

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

Yield Protocol:已從 Euler Finance 遭攻擊影響中完全恢復:6月27日消息,固定利率借貸協議 Yield Protocol 宣布已從 Euler Finance 遭攻擊影響中完全恢復。3 月中旬,Euler Finance 遭到黑客攻擊,損失金額近 2 億美元,之后攻擊者歸還全部盜取資金。由于 Yield 的流動性提供者系統中的一些資金存放在 Euler 中,因此也受到了影響。[2023/6/28 22:04:12]

鉆石協議介紹

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

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

Sui 將地址長度從 20 字節增加到 32 字節:3月30日消息,Layer1 區塊鏈 Sui Network 發布 0.29.0 版本更新,其中包括將 Sui 地址長度從 20 字節增加到 32 字節。[2023/3/30 13:34:50]

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

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

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

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

動態 | KARMA 從 EOS 離開轉到 WAX:近期,KARMA 宣布了它準備從 EOS 遷移到 WAX,因為他們團隊認為主網中仍存在一些問題,無法實現他們的目標。Karma 是 EOS 上第一個啟動的社交網絡應用,自發布以來就一直在推動著創新的,例如,他們創造了一種能為所有用戶支付 RAM 的方式,并且是 EOS 上第一個啟用“ We Pay CPU”的應用程序。讓他們想要離開 EOS 的問題如下:

1、BP 對 EIDOS 狀況和升級缺少溝通和反應

2、帳戶創建的成本(約在 2.8-10.5 元間)

3、CPU /帶寬的成本 -缺乏 WPS 功能

對于這個計劃的實施,所有當前的 KARMA 用戶將使用相同的公鑰和相同數量的 KARMA 代幣創建一個免費的 WAX 帳戶。這樣,用戶的過渡將非常簡單快捷,無需進行重大的更改。切換到 WAX 之后,EOS 上的所有 KARMA 代幣將被凍結,不再被使用。[2019/12/2]

整個鉆石模型類似下圖:

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

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

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

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

事件分析

接下來回頭分析下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:NFTARMAARMDIACNFT價格Armadakarma幣價格ZhiDian PLUS

狗狗幣最新價格
Web2.0的舊疾仍在威脅著新生的Web3.0_WEB3

互聯網剛興起之時,電腦病、木馬程序、垃圾釣魚郵件等問題層出不窮,直到人手一只小獅子這種情況才得以改善。經過二十余年的發展,時至2022年,面向互聯網的攻擊仍未停止.

1900/1/1 0:00:00
福州將發放2000萬元數字人民幣紅包_區塊鏈

7月14日,據官方消息,為迎接第五屆數字中國建設峰會,福建省福州市將發放2000萬元數字人民幣紅包。12日起,20萬個數字人民幣紅包發放活動開啟線上預約.

1900/1/1 0:00:00
分析:Circle(USDC)崩潰論與巨額壞賬是真實的嗎_比特幣

近日一位自稱@CryptoInsider23的內部人士披露了所謂Circle的內幕。而CircleCEO對此的回復是“utternonsense”.

1900/1/1 0:00:00
Web2游戲大佬紛紛「下凡」誰能笑傲Web3江湖?_WEB

一批Web2游戲風云人物,跑步入局Web3。 作者?|?林檎 編輯?|梓 首圖來源:Pinterest今年夏天,Web3的熱度也在隨著氣溫而升高.

1900/1/1 0:00:00
新加坡金融管理局或考慮限制散戶投資加密貨幣_加密貨幣

作者:AndrewAsmakov新加坡金融管理局將不排除對現有立法進行修訂,并引入新規則,對加密貨幣零售交易者施加更多限制.

1900/1/1 0:00:00
金色早報 | 拜登政府準備推遲針對加密行業征稅的計劃_ADO

頭條 ▌知情人士:拜登政府準備推遲針對加密行業征稅的計劃6月29日消息,據知情人士透露,美國政府針對加密行業征收數十億美元稅收的計劃遇到了障礙.

1900/1/1 0:00:00
ads