搜尋
首頁網路3.0坎昆升級前的重要安全檢查

坎昆升級前的重要安全檢查

Mar 24, 2024 am 09:06 AM
加密貨幣以太坊安全檢查標準函式庫坎昆升級以太幣交易平台

坎昆升級前的重要安全檢查

長話短說:坎昆升級臨近,本升級主要包含六個EIP提出的執行層變更,EIP-1153、EIP-4788、EIP-4844、EIP-5656、EIP -6780和EIP-7516。 EIP-4844是這次升級的主角,旨在提升以太坊的可擴展性,為L2降低交易成本、提升交易速度。坎昆升級已分別於1月17日、1月30日、2月7日在以太坊Goerli、Sepolia和Holesky測試網完成升級,並計劃在3月13日在以太坊主網上啟動。在升級前,Salus整理了此次升級的重要安全注意事項,供開發者自行檢查。

EIP提案回顧

官方揭露的安全考量

智慧合約相關風險

延伸閱讀

EIP提案回顧

  1. EIP-1153

EIP-1153引入了臨時儲存操作碼,這些操作碼用於操作狀態,其行為與儲存幾乎相同,但每筆交易結束後暫時存放將被丟棄。這意味著,臨時存儲不會從存儲中反序列化值,也不會序列化值到存儲,因此,由於不需要磁碟訪問,臨時存儲成本更低。透過兩個新的操作碼TLOAD和TSTORE(其中「T」代表「臨時」),智慧合約可以存取臨時儲存。這項提議旨在為Ethereum的交易執行中的多個嵌套執行框架之間的通訊提供一個專用且高效的解決方案。

  1. EIP-4788

EIP-4788旨在將信標鏈區塊的哈希樹根暴露於EVM中,以允許在智能合約內部存取這些根。這樣做可以無需信任地存取共識層狀態,支援staking pools、restaking結構、智慧合約橋、MEV緩解等多種用例。該提案透過一個智慧合約儲存這些根,並使用環形緩衝區來限制儲存消耗,確保每個執行區塊只需常量空間即可表示這些資訊。

  1. EIP-4844

#EIP-4844介紹了一種新的事務格式,稱為"分片Blob事務",旨在以簡單、向前相容的方式擴展以太坊的數據可用性。這項提案透過引入包含大量資料的"blob-carrying transactions",這些資料不能被EVM執行訪問,但可以存取其承諾。這種格式與將來全分片使用的格式完全相容,為滾動式擴容提供了臨時但顯著的緩解。

  1. EIP-5656

EIP-5656引進了一個新的EVM指令MCOPY,用於高效複製記憶體區域。這項提案旨在降低在EVM上執行記憶體複製操作的開銷,透過MCOPY指令直接實現記憶體之間的資料複製。 MCOPY允許來源位址和目標位址重疊,其設計考慮到了向後相容性,並旨在提升包括資料結構建構、記憶體物件的高效存取和複製在內的多種場景的執行效率。

  1. EIP-6780

EIP-6780修改了SELFDESTRUCT操作碼的功能。在這個提案中,SELFDESTRUCT只會在與合約創建相同的交易中刪除帳戶和傳輸所有以太幣,除此之外,執行SELFDESTRUCT時,合約將不會被刪除,只是將所有以太幣轉移到指定目標。這項改變是為了適應未來Verkle樹的使用,旨在簡化EVM實現,減少狀態變化的複雜性,同時保留SELFDESTRUCT的部分常用場景。

  1. EIP-7516

EIP-7516引進了一個新的EVM指令BLOBBASEFEE,用於傳回目前區塊執行中的blob基礎費用值。這個指令與EIP-3198中的BASEFEE操作碼相似,不同之處在於它回傳的是根據EIP-4844定義的blob基礎費用。這個功能使得合約可以編程地考慮blob數據的氣體價格,例如,允許rollup合約無需信任地計算blob數據使用成本,或者基於此實現blob氣體期貨,以平滑blob數據成本。

官方揭露的安全考量

EIP-1153

智慧合約開發人員應在使用前了解瞬態儲存變數的生命週期。由於臨時儲存會在交易結束時自動清除,因此智慧合約開發人員可能會試圖避免在呼叫過程中清除插槽以節省 Gas。然而,這可能會阻止在同一事務中與合約進行進一步的交互(例如,在重入鎖的情況下)或導致其他錯誤,因此智能合約開發人員應小心,僅在臨時存儲槽被保留時保留非零值。旨在供同一事務中的未來呼叫使用。 SSTORE否則,這些操作碼的行為與和完全相同SLOAD,因此所有常見的安全注意事項都適用,特別是在重入風險方面。

智慧合約開發人員也可能會嘗試使用瞬態儲存作為記憶體映射的替代方案。他們應該意識到,當呼叫返回或恢復時,臨時存儲不會像內存一樣被丟棄,並且應該在這些用例中優先選擇內存,以免在同一事務中的重入時產生意外的行為。記憶體上的瞬態儲存成本必然很高,這應該已經阻止了這種使用模式。記憶體中映射的大多數用法可以透過按鍵排序的條目列表來更好地實現,並且在智能合約中很少需要記憶體中映射(即作者知道生產中沒有已知的用例)。

EIP-4844

此 EIP 使每個信標區塊的頻寬要求最多增加約 0.75 MB。這比當今區塊的理論最大大小(30M Gas / 每個 calldata 位元組 16 Gas = 1.875M 位元組)大 40%,因此它不會大幅增加最壞情況下的頻寬。合併後,區塊時間是靜態的,而不是不可預測的泊松分佈,為大區塊的傳播提供了保證的時間段。

即使呼叫資料有限,此 EIP 的持續負載也比可降低呼叫資料成本的替代方案低得多,因為不需要將 Blob 儲存與執行負載一樣長的時間。這使得實現這些 blob 必須保留至少一段時間的策略成為可能。選擇的具體值是MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS紀元,約為 18 天,與建議的(但尚未實施)執行有效負載歷史的一年輪換時間相比,延遲要短得多。

EIP-5656

用戶端應注意其實作不使用中間緩衝區(例如 C stdlibmemmove函數不使用中間緩衝區),因為這是潛在的拒絕服務 (DoS) 向量。大多數用於移動位元組的語言內建函數/標準庫函數在這裡都具有正確的效能特徵。

除此之外,對拒絕服務 (DoS) 和記憶體耗盡攻擊的分析與其他接觸記憶體的操作碼相同,因為記憶體擴充遵循相同的定價規則。

EIP-6780

以下應用程式SELFDESTRUCT將被破壞,並且以這種方式使用它的應用程式不再安全:

WhereCREATE2用於在同一位置重新部署合約,以使合約可升級。不再支援此功能,應改用ERC-2535或其他類型的代理合約。

如果合約依賴於透過以SELFDESTRUCT合約作為受益人燃燒以太幣,則合約不是在同一交易中創建的。

智能合約相關風險

EIP1153

設想使用操作碼TLOAD和TSTORE的兩個場景:

  1. 被呼叫合約使用該操作碼
  2. 發起呼叫合約使用該操作碼

風險1:

比相比於傳統的SSTORE 和SLOAD ,新增的瞬態儲存主要改變了資料的儲存期限,tstore儲存的資料透過tload讀取,在一筆交易執行結束後該資料將會被釋放,而不是同sstore一樣寫入合約被永久性的記錄。開發者在使用該操作碼時應該認清該操作碼的特性,以免錯誤的使用導致資料不能正確的寫入到合約中而造成損失。另外,tstore的資料屬於私有變量,僅合約本身可以存取。如果想要外部使用該資料只能透過參數的形式進行傳遞或暫存到一個public stroage變數。

風險2:

另一個潛在風險是,如果智慧合約開發人員不正確管理瞬態儲存變數的生命週期,可能導致資料在不應該的時間被清除或錯誤地保留。如果合約期望在事務的後續調用中使用存儲在瞬態存儲中的數據,但未能適當地管理這些數據的生命週期,可能會在不同調用之間錯誤地共享或丟失數據,從而導致邏輯錯誤或安全漏洞。考慮到類似Token專案的balance或allowance資料未能正確的儲存將會導致合約邏輯的錯誤,造成損失。或在對owner位址進行設定時使用了該操作碼將會導致特權位址無法正確的被記錄從而遺失對合約重要參數的修改。

考慮一個智慧合約,該合約使用瞬態儲存來暫時記錄一個加密貨幣交易平台上的交易價格。該合約在每筆交易完成時更新價格,並允許用戶在短時間內查詢最新價格。然而,如果合約設計沒有考慮到瞬態儲存在交易結束時被自動清除的特性,那麼在一筆交易結束後到下一筆交易開始之前的這段時間內,用戶可能會得到一個錯誤或過時的價格。這不僅可能導致用戶做出基於錯誤訊息的決策,還可能被惡意利用,影響平台的信譽和用戶的資產安全。

EIP-6780

該提案改變了先前selfdestruct操作碼的行為,不銷毀合約,僅轉移token,僅與自毀同一交易中創建的合約才會被銷毀。這個EIP的影響相對較大。

用create2在同一地址重新部署合約,以使合約升級。不再支援此功能,應改用 ERC-2535 或其他類型的代理合約。 (這可能會影響到使用create2實現可升級合約的鏈上合約的安全性)

智能合約中的SELFDESTRUCT操作允許合約銷毀,並將合約餘額發送給指定的目標位址。在這種情況下,合約使用SELFDESTRUCT銷毀以太幣,並將銷毀的以太幣發送給了合約。但是該合約僅能是在同一筆交易中創建的合約(同一筆交易中由本合約或其他合約創建的合約)。否則將僅轉帳以太而不銷毀合約(例如自毀且受益者為自毀合約,這將會不產生任何改變)。這將會影響一切依賴於selfdestruct進行提款或其他操作的合約。

一種類似 1inch CHI Token的Gas Token的工作原理:保持一個偏移量,始終在此偏移量處執行 CREATE2 或 SELFDESTRUCT。在此更新之後,如果目前偏移量的合約尚未正確自毀,則之後的CREATE2 將無法成功的部署合約。

該提案實施並不能導致直接對合約進行攻擊,但會損害原有已部署的依賴selfdestruct操作的合約的正常邏輯(僅依賴自毀進行資金轉移的合約不受到影響,如果後續操作必須要求自毀的合約被刪除,則受到影響),導致合約非預期工作,僅對合約以及用戶而言,可能導致合約的罷工,損失資金等危害(例如原本利用create2在原地址部署新合約,自毀原合約進行升級的合約,不再能夠成功部署)。長遠來看,修改某項操作碼的功能可能會帶來中心化的問題。

例如現有一個金庫合約vault進行更新:

  • create2暫時儲存合約用來暫時保留vault的資金

  • 自毀vault合約,資金轉帳到臨時合約(僅轉移了資金而沒有銷毀合約)

  • 在原地址create2新的vault合約(失敗,因為原有vault合約沒有被銷毀)

  • 自毀臨時合約將資金還給vault(資金損失,vault合約沒有被創建)

擴展閱讀

坎昆升級將進一步增強以太坊的競爭優勢。但此次升級對核心智慧合約層的改動帶來了風險,這會影響現有的DApps的安全運作。在進行智能合約開發的過程中,這些改變以及可能引發的風險同樣需要被高度關注。您可以與Salus聯繫以獲得風險檢查或審計支持,也可以透過進一步閱讀相關內容以了解變更。

以上是坎昆升級前的重要安全檢查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:PANews。如有侵權,請聯絡admin@php.cn刪除
Trend Research分析:新周期下ETH樂觀預測為10000美元Trend Research分析:新周期下ETH樂觀預測為10000美元May 14, 2025 pm 10:51 PM

TrendResearch自2025年4月24日研報全網發出至今,ETH自1800美元漲至2400美元附近,一個月內漲幅約30%,研報撰寫前的預判更是在1450美金開始,作為千億規模的資產標的,是大資金短期實現高回報的難得機會。彼時堅定看多的主要原因包括:ETH依然擁有穩健的金融數據,是加密重要基礎設施的地位沒有改變;短期高點巨大的調整幅度(4個月跌幅超60%);衍生品市場空頭規模龐大,底部現貨放量後攀升至重要支阻互換區域,傳統金融的

什麼是 Sign Protocol (SIGN)?跨鏈驗證網絡入門指南什麼是 Sign Protocol (SIGN)?跨鏈驗證網絡入門指南May 14, 2025 pm 10:48 PM

區塊鏈技術持續改變著人們在線上交換價值、驗證信息和建立信任的方式。隨著去中心化應用在各行各業的蓬勃發展,跨多個區塊鏈確認聲明和身份的能力變得越來越重要,也越來越複雜。傳統的、依賴於中心化權威的信任模型往往不足以支撐去中心化的生態系統,因此對區塊鏈原生驗證解決方案的需求也日益增長。 SignProtocol(SIGN)通過提供一個用於跨多個區塊鍊網絡創建、驗證和管理證明的框架來應對這一挑戰。 SignProtocol旨在打造一個全鏈

Bitget宣布VOXEL交易回滾!損失用戶將獲賠償Bitget宣布VOXEL交易回滾!損失用戶將獲賠償May 14, 2025 pm 10:45 PM

加密貨幣交易所Bitget近日因VOXEL合約市場的異常交易波動,宣布將回滾該時段內的交易,並提出賠償方案。然而,官方公告中使用「用戶操縱市場」的說法,引發外界對其公關處理不當的質疑,擔心這將導致危機進一步擴大。 BitgetVOXEL代幣現異常交易,引發內部做市擔憂北京時間昨日上午8:00至8:30,Bitget交易所爆發了VOXEL代幣的異常交易事件,該時段的交易量甚至一度超過了比特幣,引發市場對其內部操作透明度的高度質疑。事件源於VOXEL代幣價格出現劇烈波動後,社群開始質疑Bitget可能

KuCoin交易所是什麼? KuCoin新手開戶註冊教學、安全性分析KuCoin交易所是什麼? KuCoin新手開戶註冊教學、安全性分析May 14, 2025 pm 10:42 PM

目錄KuCoin交易所是什麼? KuCoin交易所背景KuCoin交易所品牌故事KuCoin交易所安全嗎? KuCoin開戶註冊教學第一步:註冊KuCoin賬戶第二步:完成身份驗證第三步:開啟兩步驟驗證同場加映:KuCoin特有的GemSPACE總結KuCoin是全球前15大加密貨幣交易所,以全民的交易平台為理念,提供安全、便利的交易體驗。這篇文章將帶你深入了解KuCoin的背景、安全性、開戶流程,以及如何利用KuCoin獨有的Ge

ALPACA幣是什麼?下架幣安後幣價飆漲,$ALPACA未來前景如何?ALPACA幣是什麼?下架幣安後幣價飆漲,$ALPACA未來前景如何?May 14, 2025 pm 10:39 PM

目錄ALPACA幣最新新聞和價格動態AlpacaFinance(ALPACA)是什麼? AlpacaFinance是如何運作的? ALPACA幣是什麼? ALPACA代幣經濟學ALPACA價格走勢分析2025年ALPACA價格預測AlpacaFinance(ALPACA)未來展望ALPACA幣怎麼買?總結AlpacaFinance(ALPACA)是幣安智能鏈上的借貸協議,具有槓桿收益農業的特徵。自幣安宣布將於5月2日下架AL

Arthur Hayes分析:現在可能是10萬美元以下比特幣的最後上車機會Arthur Hayes分析:現在可能是10萬美元以下比特幣的最後上車機會May 14, 2025 pm 10:36 PM

我們所熟悉的BitMex創始人ArthurHayes再次發表了看盤言論!這次他在X平台上表示:「說真的,親人們,現在可能是你在比特幣10萬元以下最後的購買機會。」在過去30小時的比特幣上漲行情中,ArthurHayes發文稱:「就像復活節兔子,$BTC的價格將要連續跳躍五次!」Hayes還透露,他將在本週發布一篇新文章,主題是「BBCBazooka」與國債回購。 ArthurHayes在比特幣價格回落到9萬元內後,一直在預測價格下跌,現在卻轉為看漲。回顧他過去幾個月對比特幣的預測,儘管具體數字可能

Cardano(ADA)2025–2028 年 10 倍潛力解析:智能合約平台的價值重估之路Cardano(ADA)2025–2028 年 10 倍潛力解析:智能合約平台的價值重估之路May 14, 2025 pm 10:33 PM

Cardano(ADA)2025–2028年10倍潛力解析:智能合約平台的價值重估之路當前ADA價格約為$0.778,若實現10倍增長,未來潛在價位將達到$7.78,市值約2,700億美元。這一預測並非空想,而是基於Cardano在技術創新、生態拓展及市場需求等多重因素驅動下的強勁潛力。一、技術進步:智能合約與零知識證明的結合自Vasil升級以來,Cardano的智能合約平台Plutu

SWCH是什麼幣種?值得投資嗎?SWCH幣詳細購買教程SWCH是什麼幣種?值得投資嗎?SWCH幣詳細購買教程May 14, 2025 pm 10:30 PM

加密貨幣市場項目隨著區塊鏈發展而不斷湧現,目的就是改變傳統金融實踐,SwissCheese就是其中一個項目。據了解,SwissCheese是一個讓用戶能夠交易通證化股票的去中心化平台,旨在增強市場的可及性並降低交易成本,為更具包容性的金融環境鋪平道路。平台的原生代幣為SWCH,主要作用就是交易、治理等。該項目上線後立即引起了投資者的關注,但僅僅了解SWCH是什麼幣種?還不能分析出SWCH值得投資嗎?結合當前數據來看,SWCH具有一定的

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境