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

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

Author:

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

背景信息

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

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

應用研究機構 Other Internet 從 Uniswap 贈款計劃獲得 100 萬美元贈款:11月25日消息,應用研究機構 Other Internet 從 Uniswap 贈款計劃(Uniswap Grants Program,UGP)獲得 100 萬美元贈款,將用于在明年擴展其研究計劃并在 Uniswap 生態系統中進行新的治理實驗。

注,Other Internet 已于今年夏天完成對 Uniswap 鏈下治理和 Discord 社區的分析。[2021/11/25 7:10:00]

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

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

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

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

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

Cosmos 創始人 Jae Kwon 從 AIB 及 ICF 基金會離職 全職開發 Gno 智能合約語言:Cosmos 創始人 Jae Kwon 宣布從 Cosmos 網絡軟件開發公司 AIB (All in Bits)及 The Interchain 基金會(ICF)離職,全職開發 Gno 智能合約語言。The Interchain 基金會是位于瑞士的非盈利基金會以支持 Cosmos 的生態建設,而 AIB 是負責開發 Cosmos 網絡的軟件開發公司,這意味著 Cosmos 創始人 Jae Kwon 將離開 Cosmos 生態中最核心的支持機構。Jae Kwon 表示,Gno 是適用于 Cosmos 生態的下一代的智能合約編程語言。[2021/2/15 19:47:00]

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

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

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

整個鉆石模型類似下圖:

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

在該鉆石合約中不同的函數功能需要調用對應的不同的切面合約的代碼來實現,并且可以利用鉆石切割的功能來對鉆石合約中的函數功能進行修改(添加、替換或刪除)。

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

事件分析

接下來回頭分析下 The Saudis 這次事件中的一些細節,在該項目的 DiamondCutFacet.sol 合約中,可以看到實現了 diamondCut 功能的函數。

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

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

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

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

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

相關信息

The Saudis 合約地址:

0xe21ebcd28d37a67757b9bc7b290f4c4928a430b1

用戶 Rightblock 地址:

0x80266b1e3f0C2cAdAE65A4Ef5Df20f3DF3707FfB

項目方更新合約的交易:

0xbc559a72f73e6c9a53416fd13a3ebaaa76dca5855ff8b79511585f514eaf2390

Tags:THENFTMOSOSMtogetherbnb手游下載官網nft幣價格今日行情分析COMOS Financeosmo幣有投資價值嗎

OKB
金色觀察 | Aztec 宣布首個以太坊隱私DeFi解決方案正式上線_NBS

7月7日,據Aztec團隊在medium上發布的官方博文,他們在當天推出首個以太坊隱私DeFi解決方案——Aztec Connect。以下是博文內容.

1900/1/1 0:00:00
ADAM鏈上數據確權模式探索方向之一 數字藏品_ADA

本文翻譯自ADAM?Medium《ADAM proposes one of the exploration directions of the on-chain data confirmatio.

1900/1/1 0:00:00
金色觀察|Uniswap V3的“漏洞”風云_Uniswap

熊市的盛夏,黑客攻擊頻出,讓已經對價格無感的持幣者們還要為安全擔心。北京時間7月12日上午9時,幣安創始人趙長鵬發布推文:“我們的威脅情報在 ETH 區塊鏈上檢測到 Uniswap V3 存在潛.

1900/1/1 0:00:00
NFT頭像最新玩法:5555個7天賣6500多萬元 誰在消費沙特土豪?_AUD

作者:北辰 Twitter博主Brise.eth????(@Brise_eth)寫了一個機器人,統計了超過50萬個有效的NFT地址,發現在過去7天回報最高的10個地址中.

1900/1/1 0:00:00
比特幣洗盤結束?業內人士:還得再跌 30%_比特幣

多位業內人士告訴 CNBC,宏觀經濟形勢的改善、項目或公司的進一步“洗盤/去杠桿化”、特定的技術面走勢是比特幣和更廣泛的加密市場觸底所需的關鍵因素,這可能意味著比特幣進一步下跌至 13.

1900/1/1 0:00:00
2022 年第二季度以太坊狀態報告_ETH

來源:Bankless 分析師 Ben Giove2022 年第二季度是加密貨幣的真正熊市,但它對以太坊的基本面有何影響?Bankless 分析師 Ben Giove 深入探討了以太坊網絡的現狀.

1900/1/1 0:00:00
ads