背景信息
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大小的最大限制,并且讓合約更方便地更新功能。
要理解鉆石協議,首先有幾個相關的概念定義需要知道:
bant.io公司宣布將從 2021 年第四季度開始接受加密貨幣支付服務:金色財經報道,一家 B2B 多合一的潛在客戶生成和銷售加速服務公司bant.io在一份聲明中宣布,它將從 2021 年第四季度開始接受加密貨幣支付服務。bant.io 創始人 Andrei Breaz 在接受采訪時解釋說:在過去五年中,我們創新了 B2B 潛在客戶生成,同時提供了業內最靈活的付款計劃之一。現在,通過接受除法定貨幣之外的加密貨幣,我們打算為我們的客戶提供更加靈活和無縫的支付流程,這也將滿足行業不斷增長的需求。
bant.io 為世界各地的公司制定個人和獨特的戰略,以實現其銷售目標并帶來新的業務線索。(live bitcoin news)[2021/10/4 17:22:48]
鉆石:鉆石可以理解為代理合約,也是與用戶進行交互的主合約
Audius、DODO、Livepeer 等應用從 The Graph 托管服務遷移到主網:6月11日消息,區塊鏈數據索引項目 The Graph (GRT)表示,Audius、DODO、Livepeer、mStable、Opyn、PoolTogether、Reflexer 和 UMA 等應用現已完全從 The Graph 的托管服務遷移到主網,成為 The Graph 主網上的 10 個子圖,且均可使用 GRT 來支付網絡使用費。[2021/6/11 23:29:40]
切面:正如真正的鉆石有不同的側面一樣,一個鉆石合約也有著不同的面,鉆石合約的每個功能所需要調用的合約對應一個切面,所以也可以理解為實現合約
鉆石切割:鉆石協議標準擴展了一種叫鉆石切割的功能,其主要作用從鉆石中增加、替換或刪除切面和功能,可以理解為合約的升級
NuCypher 已將共享策略訪問周期持續時間從 24 小時延長至 7 天:據官方消息,隱私基礎設施 NuCypher (NU)的關于將共享策略訪問周期持續時間以提升 Worker (節點運營方和質押者)潛在回報的第一項升級提案現已獲得通過,且已執行。目前,NuCypher 已將周期從 24 小時延長至 7 天,可降低 Worker 在鏈上作出承諾所需的累積 Gas 成本。[2021/4/15 20:21:32]
放大鏡:鉆石協議標準中的放大鏡功能主要是返回關于切面的信息和鉆石存在的功能,這些信息是保存在鉆石合約內部的存儲結構——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
注:上周,以太坊成功完成了灰色冰川硬分叉升級,將難度炸彈推遲了大約100天的時間,而對于以太坊接下來的合并,來自ConsenSys的開發者BenEdgington分享了一些信息.
1900/1/1 0:00:00撰文:BenGiove,Bankless分析師點擊閱讀:以太坊狀態:復盤以太坊2022Q1繼之前的以太坊2022Q1報告.
1900/1/1 0:00:00加密資產市場整體進入深熊階段,獨立板塊NFT市場則新聞不斷,NFT交易賽道闖入了不少新老面孔,包括傳統行業的玩家.
1900/1/1 0:00:00在加密行業崩潰的背景下,DeFi最近也遇到了巨大困難。自去年12月以來,DeFi鎖定的總價值不僅下降了70%,而且在去中心化程度較低的DeFi領域內的各種平臺也受到了崩潰的威脅,例如,Celsi.
1900/1/1 0:00:00北京時間2022年7月6日18:18:26和2022年7月6日上午18:37:59,一個假冒的ShadeInuToken項目部署者從流動性池中移除大量的流動性.
1900/1/1 0:00:00自2012年成立以來,SuZhu和KyleDavies的三箭資本(即3AC)成長為加密資產市場中最大、最權威的對沖基金之一.
1900/1/1 0:00:00