亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

當(dāng)前位置:主頁(yè) > 區(qū)塊鏈 > 資訊 > 坎昆升級(jí)必看安全檢查

以太坊坎昆升級(jí)前,項(xiàng)目開發(fā)者必看的幾項(xiàng)安全檢查

2024-03-04 15:19:17 | 來(lái)源: | 作者:佚名
3月13日是以太坊主網(wǎng)坎昆升級(jí),在升級(jí)前,項(xiàng)目開發(fā)者必看的幾項(xiàng)安全檢查,包含六個(gè)提出的執(zhí)行層變更,EIP-1153、EIP-4788、EIP-4844、EIP-5656、EIP-6780 和 EIP-7516 ,一起來(lái)看看詳細(xì)介紹吧

長(zhǎng)話短說(shuō):坎昆升級(jí)臨近,本次升級(jí)主要包含六個(gè) EIP 提出的執(zhí)行層變更,EIP-1153、EIP-4788、EIP-4844、EIP-5656、EIP-6780 和 EIP-7516 。EIP-4844 是本次升級(jí)的主角,旨在提升以太坊的可擴(kuò)展性,為L(zhǎng)2降低交易成本、提升交易速度??怖ド?jí)已分別于 1 月 17 日、 1 月 30 日、 2 月 7 日在以太坊 Goerli、Sepolia 和 Holesky 測(cè)試網(wǎng)完成升級(jí),并計(jì)劃在 3 月 13 日在以太坊主網(wǎng)上激活。在升級(jí)前,Salus 整理了此次升級(jí)的重要安全注意事項(xiàng),供開發(fā)者自行檢查。

EIP 提案回顧

EIP-1153 

EIP-1153 引入了臨時(shí)存儲(chǔ)操作碼,這些操作碼用于操作狀態(tài),其行為與存儲(chǔ)幾乎相同,但每筆交易結(jié)束后臨時(shí)存儲(chǔ)將被丟棄。這意味著,臨時(shí)存儲(chǔ)不會(huì)從存儲(chǔ)中反序列化值,也不會(huì)序列化值到存儲(chǔ),因此,由于不需要磁盤訪問(wèn),臨時(shí)存儲(chǔ)成本更低。通過(guò)兩個(gè)新的操作碼 TLOAD 和 TSTORE(其中“T”代表“臨時(shí)”),智能合約可以訪問(wèn)臨時(shí)存儲(chǔ)。這項(xiàng)提議旨在為 Ethereum 的交易執(zhí)行中的多個(gè)嵌套執(zhí)行框架之間的通信提供一個(gè)專用且高效的解決方案。

EIP-4788 

EIP-4788 旨在將信標(biāo)鏈區(qū)塊的哈希樹根暴露于 EVM 中,以允許在智能合約內(nèi)部訪問(wèn)這些根。這樣做可以無(wú)需信任地訪問(wèn)共識(shí)層狀態(tài),支持 staking pools、restaking 結(jié)構(gòu)、智能合約橋、MEV 緩解等多種用例。該提案通過(guò)一個(gè)智能合約存儲(chǔ)這些根,并使用環(huán)形緩沖區(qū)來(lái)限制存儲(chǔ)消耗,確保每個(gè)執(zhí)行區(qū)塊只需常量空間即可表示這些信息。

EIP-4844 

EIP-4844 介紹了一種新的事務(wù)格式,稱為"分片 Blob 事務(wù)",旨在以簡(jiǎn)單、向前兼容的方式擴(kuò)展以太坊的數(shù)據(jù)可用性。這項(xiàng)提案通過(guò)引入包含大量數(shù)據(jù)的"blob-carrying transactions",這些數(shù)據(jù)不能被 EVM 執(zhí)行訪問(wèn),但可以訪問(wèn)其承諾。這種格式與將來(lái)全分片使用的格式完全兼容,為滾動(dòng)式擴(kuò)容提供了臨時(shí)但顯著的緩解。

EIP-5656 

EIP-5656 引入了一種新的 EVM 指令 MCOPY,用于高效復(fù)制內(nèi)存區(qū)域。這項(xiàng)提案旨在降低在 EVM 上執(zhí)行內(nèi)存復(fù)制操作的開銷,通過(guò) MCOPY 指令直接實(shí)現(xiàn)內(nèi)存之間的數(shù)據(jù)復(fù)制。MCOPY 允許源地址和目標(biāo)地址重疊,其設(shè)計(jì)考慮到了向后兼容性,并旨在提升包括數(shù)據(jù)結(jié)構(gòu)構(gòu)建、內(nèi)存對(duì)象的高效訪問(wèn)和復(fù)制在內(nèi)的多種場(chǎng)景的執(zhí)行效率。

EIP-6780 

EIP-6780 修改了 SELFDESTRUCT 操作碼的功能。在這個(gè)提案中,SELFDESTRUCT 只會(huì)在與合約創(chuàng)建相同的交易中刪除賬戶和傳輸所有以太幣,除此之外,執(zhí)行 SELFDESTRUCT 時(shí),合約將不會(huì)被刪除,只是將所有以太幣轉(zhuǎn)移到指定目標(biāo)。這一改變是為了適應(yīng)未來(lái) Verkle 樹的使用,旨在簡(jiǎn)化 EVM 實(shí)現(xiàn),減少狀態(tài)變化的復(fù)雜性,同時(shí)保留 SELFDESTRUCT 的部分常用場(chǎng)景。

EIP-7516 

EIP-7516 引入了一個(gè)新的 EVM 指令 BLOBBASEFEE,用于返回當(dāng)前區(qū)塊執(zhí)行中的 blob 基礎(chǔ)費(fèi)用值。這個(gè)指令與 EIP-3198 中的 BASEFEE 操作碼相似,不同之處在于它返回的是根據(jù) EIP-4844 定義的 blob 基礎(chǔ)費(fèi)用。這個(gè)功能使得合約可以編程地考慮 blob 數(shù)據(jù)的氣體價(jià)格,例如,允許 rollup 合約無(wú)需信任地計(jì)算 blob 數(shù)據(jù)使用成本,或者基于此實(shí)現(xiàn) blob 氣體期貨,以平滑 blob 數(shù)據(jù)成本。

官方披露的安全考量

EIP-1153 

智能合約開發(fā)人員應(yīng)在使用前了解瞬態(tài)存儲(chǔ)變量的生命周期。由于臨時(shí)存儲(chǔ)會(huì)在交易結(jié)束時(shí)自動(dòng)清除,因此智能合約開發(fā)人員可能會(huì)試圖避免在調(diào)用過(guò)程中清除插槽以節(jié)省 Gas。然而,這可能會(huì)阻止在同一事務(wù)中與合約進(jìn)行進(jìn)一步的交互(例如,在重入鎖的情況下)或?qū)е缕渌e(cuò)誤,因此智能合約開發(fā)人員應(yīng)小心,僅在臨時(shí)存儲(chǔ)槽被保留時(shí)保留非零值。旨在供同一事務(wù)中的未來(lái)調(diào)用使用。SSTORE 否則,這些操作碼的行為與和完全相同 SLOAD,因此所有常見的安全注意事項(xiàng)都適用,特別是在重入風(fēng)險(xiǎn)方面。

智能合約開發(fā)人員也可能會(huì)嘗試使用瞬態(tài)存儲(chǔ)作為內(nèi)存映射的替代方案。他們應(yīng)該意識(shí)到,當(dāng)調(diào)用返回或恢復(fù)時(shí),臨時(shí)存儲(chǔ)不會(huì)像內(nèi)存一樣被丟棄,并且應(yīng)該在這些用例中優(yōu)先選擇內(nèi)存,以免在同一事務(wù)中的重入時(shí)產(chǎn)生意外的行為。內(nèi)存上的瞬態(tài)存儲(chǔ)成本必然很高,這應(yīng)該已經(jīng)阻止了這種使用模式。內(nèi)存中映射的大多數(shù)用法可以通過(guò)按鍵排序的條目列表來(lái)更好地實(shí)現(xiàn),并且智能合約中很少需要內(nèi)存中映射(即作者知道生產(chǎn)中沒有已知的用例)。

EIP-4844 

此 EIP 使每個(gè)信標(biāo)塊的帶寬要求最多增加約 0.75 MB。這比當(dāng)今區(qū)塊的理論最大大?。?0 M Gas / 每個(gè) calldata 字節(jié) 16 Gas = 1.875 M 字節(jié))大 40% ,因此它不會(huì)大幅增加最壞情況下的帶寬。合并后,區(qū)塊時(shí)間是靜態(tài)的,而不是不可預(yù)測(cè)的泊松分布,為大區(qū)塊的傳播提供了保證的時(shí)間段。

即使調(diào)用數(shù)據(jù)有限,此 EIP 的持續(xù)負(fù)載也比可降低調(diào)用數(shù)據(jù)成本的替代方案低得多,因?yàn)椴恍枰獙?Blob 存儲(chǔ)與執(zhí)行負(fù)載一樣長(zhǎng)的時(shí)間。這使得實(shí)現(xiàn)這些 blob 必須保留至少一段時(shí)間的策略成為可能。選擇的具體值是 MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS 紀(jì)元,約為 18 天,與建議的(但尚未實(shí)施)執(zhí)行有效負(fù)載歷史的一年輪換時(shí)間相比,延遲要短得多。

EIP-5656 

客戶端應(yīng)注意其實(shí)現(xiàn)不使用中間緩沖區(qū)(例如 C stdlibmemmove 函數(shù)不使用中間緩沖區(qū)),因?yàn)檫@是潛在的拒絕服務(wù) (DoS) 向量。大多數(shù)用于移動(dòng)字節(jié)的語(yǔ)言內(nèi)置函數(shù)/標(biāo)準(zhǔn)庫(kù)函數(shù)在這里都具有正確的性能特征。

除此之外,對(duì)拒絕服務(wù) (DoS) 和內(nèi)存耗盡攻擊的分析與其他接觸內(nèi)存的操作碼相同,因?yàn)閮?nèi)存擴(kuò)展遵循相同的定價(jià)規(guī)則。

EIP-6780 

以下應(yīng)用程序 SELFDESTRUCT 將被破壞,并且以這種方式使用它的應(yīng)用程序不再安全:

WhereCREATE 2 用于在同一位置重新部署合約,以使合約可升級(jí)。不再支持此功能,應(yīng)改用 ERC-2535 或其他類型的代理合約。

如果合約依賴于通過(guò)以 SELFDESTRUCT 合約作為受益人燃燒以太幣,則合約不是在同一交易中創(chuàng)建的。

智能合約相關(guān)風(fēng)險(xiǎn)

EIP 1153 

設(shè)想使用操作碼 TLOAD 和 TSTORE 的兩種場(chǎng)景:

  • 被調(diào)用合約使用該操作碼

  • 發(fā)起調(diào)用合約使用該操作碼

風(fēng)險(xiǎn) 1 :

相比于傳統(tǒng)的 SSTORE 和 SLOAD ,新增的瞬態(tài)存儲(chǔ)主要改變了數(shù)據(jù)的存儲(chǔ)期限,tstore 存儲(chǔ)的數(shù)據(jù)通過(guò) tload 進(jìn)行讀取,在一筆交易執(zhí)行結(jié)束后該數(shù)據(jù)將會(huì)被釋放,而不是同 sstore 一樣寫入合約被永久性的記錄。開發(fā)者在使用該操作碼時(shí)應(yīng)該認(rèn)清該操作碼的特性,以免錯(cuò)誤的使用導(dǎo)致數(shù)據(jù)不能正確的寫入到合約中而造成損失。另外,tstore 的數(shù)據(jù)屬于私有變量,僅合約本身可以訪問(wèn)。如果想要外部使用該數(shù)據(jù)只能通過(guò)參數(shù)的形式進(jìn)行傳遞或暫存到一個(gè) public stroage 變量中。

風(fēng)險(xiǎn) 2 :

另一個(gè)潛在風(fēng)險(xiǎn)是,如果智能合約開發(fā)人員不正確管理瞬態(tài)存儲(chǔ)變量的生命周期,可能導(dǎo)致數(shù)據(jù)在不應(yīng)該的時(shí)間被清除或錯(cuò)誤地保留。如果合約期望在事務(wù)的后續(xù)調(diào)用中使用存儲(chǔ)在瞬態(tài)存儲(chǔ)中的數(shù)據(jù),但未能適當(dāng)?shù)毓芾磉@些數(shù)據(jù)的生命周期,可能會(huì)在不同調(diào)用之間錯(cuò)誤地共享或丟失數(shù)據(jù),從而導(dǎo)致邏輯錯(cuò)誤或安全漏洞。考慮到類似于 Token 項(xiàng)目的 balance 或者 allowance 數(shù)據(jù)未能正確的存儲(chǔ)將會(huì)導(dǎo)致合約邏輯的錯(cuò)誤,造成損失?;蛟趯?duì) owner 地址進(jìn)行設(shè)置時(shí)使用了該操作碼將會(huì)導(dǎo)致特權(quán)地址不能正確的被記錄從而丟失對(duì)合約重要參數(shù)的修改。

考慮一個(gè)智能合約,該合約使用瞬態(tài)存儲(chǔ)來(lái)臨時(shí)記錄一個(gè)加密貨幣交易平臺(tái)上的交易價(jià)格。該合約在每筆交易完成時(shí)更新價(jià)格,并允許用戶在短時(shí)間內(nèi)查詢最新價(jià)格。然而,如果合約設(shè)計(jì)沒有考慮到瞬態(tài)存儲(chǔ)在交易結(jié)束時(shí)被自動(dòng)清除的特性,那么在一筆交易結(jié)束后到下一筆交易開始之前的這段時(shí)間內(nèi),用戶可能會(huì)得到一個(gè)錯(cuò)誤或過(guò)時(shí)的價(jià)格。這不僅可能導(dǎo)致用戶做出基于錯(cuò)誤信息的決策,還可能被惡意利用,影響平臺(tái)的信譽(yù)和用戶的資產(chǎn)安全。

EIP-6780 

該提案改變了之前 selfdestruct 操作碼的行為,不銷毀合約,僅轉(zhuǎn)移 token,僅與自毀同一交易中創(chuàng)建的合約才會(huì)被銷毀。這個(gè) EIP 的影響相對(duì)較大。

用 create 2 在同一地址重新部署合約,以使合合約升級(jí)。不再支持此功能,應(yīng)改用 ERC-2535 或其他類型的代理合約。(這可能會(huì)影響到使用 create 2 實(shí)現(xiàn)可升級(jí)合約的鏈上合約的安全性)

智能合約中的 SELFDESTRUCT 操作允許合約銷毀,并將合約余額發(fā)送給指定的目標(biāo)地址。在這種情況下,合約使用 SELFDESTRUCT 銷毀以太幣,并將銷毀的以太幣發(fā)送給了合約。但是該合約僅能是在同一筆交易中創(chuàng)建的合約(同一筆交易中由本合約或其他合約創(chuàng)建的合約)。否則將僅轉(zhuǎn)賬以太而不銷毀合約(例如自毀且受益者為自毀合約,這將會(huì)不產(chǎn)生任何改變)。這將會(huì)影響一切依賴于 selfdestruct 進(jìn)行提款或其他操作的合約。

一種類似于 1inch CHI Token 的 Gas Token 的工作原理:保持一個(gè)偏移量,始終在此偏移量處執(zhí)行 CREATE 2 或 SELFDESTRUCT。在此更新之后,如果當(dāng)前偏移量的合約尚未正確自毀,則之后的 CREATE 2 將不能成功的部署合約。

該提案實(shí)施并不能導(dǎo)致直接對(duì)合約進(jìn)行攻擊,但會(huì)損害原有已部署的依賴 selfdestruct 操作的合約的正常邏輯(僅依賴自毀進(jìn)行資金轉(zhuǎn)移的合約不受到影響,如果后續(xù)操作必須要求自毀的合約被刪除,則受到影響),導(dǎo)致合約非預(yù)期工作,僅對(duì)合約以及用戶而言,可能導(dǎo)致合約的罷工,損失資金等危害(例如原本利用 create 2 在原地址部署新合約,自毀原合約進(jìn)行升級(jí)的合約,不再能夠成功部署)。長(zhǎng)遠(yuǎn)來(lái)看,修改某項(xiàng)操作碼的功能可能會(huì)帶來(lái)中心化的問(wèn)題。

例如現(xiàn)有一個(gè)金庫(kù)合約 vault 進(jìn)行更新:

  • create 2 臨時(shí)存儲(chǔ)合約用來(lái)臨時(shí)儲(chǔ)備 vault 的資金

  • 自毀 vault 合約,資金轉(zhuǎn)賬到臨時(shí)合約(僅轉(zhuǎn)移了資金而沒有銷毀合約)

  • 在原地址 create 2 新的 vault 合約(失敗,因?yàn)樵?nbsp;vault 合約沒有被銷毀)

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

擴(kuò)展閱讀

坎昆升級(jí)將進(jìn)一步增強(qiáng)以太坊的競(jìng)爭(zhēng)優(yōu)勢(shì)。但此次升級(jí)對(duì)核心智能合約層的改動(dòng)帶來(lái)了風(fēng)險(xiǎn),這會(huì)影響現(xiàn)有的 DApps 的安全運(yùn)行。在進(jìn)行智能合約開發(fā)的過(guò)程中,這些改變以及可能引發(fā)的風(fēng)險(xiǎn)同樣需要被高度關(guān)注。您可以與Salus聯(lián)系獲得風(fēng)險(xiǎn)檢查或?qū)徲?jì)支持,也可以通過(guò)進(jìn)一步閱讀相關(guān)內(nèi)容以了解變化。

Cancun Network Upgrade Specification

EIP-1153 

EIP-4788 

EIP-4844 

EIP-5656 

EIP-6780 

EIP-7516 

Metapod contract

GasToken 2 contract

聲明:文章內(nèi)容不代表本站觀點(diǎn)及立場(chǎng),不構(gòu)成本平臺(tái)任何投資建議。本文內(nèi)容僅供參考,風(fēng)險(xiǎn)自擔(dān)!

你可能感興趣的文章

幣圈快訊

  • 港股普星能量收漲141.38%,此前宣布認(rèn)購(gòu)HashKey優(yōu)先股

    2025-07-10 16:43
    7月10日消息,港股上市公司普星能量(0090)早盤股價(jià)一度漲近280%,截至收盤上漲141.38%,報(bào)1.40港元,最高漲至2.24港元。此前公司公告已認(rèn)購(gòu)HashKeyHoldingsLimited發(fā)行的A系列優(yōu)先股,持股比例不超過(guò)5%,成為其股東。
  • 24小時(shí)內(nèi)7大機(jī)構(gòu)買入價(jià)值約3.58億美元的ETH

    2025-07-10 16:43
    金色財(cái)經(jīng)報(bào)道,據(jù)鏈上分析平臺(tái)Lookonchain監(jiān)測(cè),過(guò)去24小時(shí)內(nèi),7家機(jī)構(gòu)/鯨魚賬戶累計(jì)購(gòu)入127,971枚ETH,價(jià)值約3.58億美元。
  • 數(shù)據(jù):24小時(shí)內(nèi)7大機(jī)構(gòu)或巨鯨買入約3.58億美元的ETH

    2025-07-10 16:42
    ChainCatcher消息,據(jù)鏈上分析平臺(tái)Lookonchain(@lookonchain)監(jiān)測(cè),過(guò)去24小時(shí)內(nèi),7家機(jī)構(gòu)/鯨魚賬戶累計(jì)購(gòu)入127,971枚ETH,價(jià)值約3.58億美元。 主要交易包括:新錢包0x35fb從Kraken提取54,125枚ETH(1.51億美元) AbraxasCapital從Binance和Kraken提取40,986枚ETH(1.14億美元) SharpLinkGaming通過(guò)OTC購(gòu)買5,072枚ETH(1,351萬(wàn)美元) GMX黑客將3200萬(wàn)美元資產(chǎn)兌換為11,700枚ETH 鯨魚0x8C08以2,721美元價(jià)格購(gòu)買9,188枚ETH(2500萬(wàn)USDT) 鯨魚0x3c9E從Kraken提取4,000枚ETH(1,118萬(wàn)美元)并存入Aave和Compound pfm.eth以2,759美元價(jià)格購(gòu)買2,900枚ETH(800萬(wàn)USDT)
  • Glassnode:比特幣突破歷史高位實(shí)現(xiàn)市值增44億美元,上漲背后有真實(shí)的信念支撐

    2025-07-10 16:34
    ChainCatcher消息,glassnode發(fā)文稱,與市值不同,比特幣實(shí)現(xiàn)市值反映了實(shí)際資金流入,只有當(dāng)加密貨幣價(jià)格上漲時(shí)才會(huì)上升。當(dāng)比特幣突破112,000美元?jiǎng)?chuàng)下新的歷史最高價(jià)(ATH)時(shí),其實(shí)現(xiàn)市值增加了44億美元,這證實(shí)了此次價(jià)格上漲背后有真實(shí)的信念支撐,而不僅僅是投機(jī)性標(biāo)價(jià)。
  • 港股穩(wěn)定幣概念股國(guó)泰君安國(guó)際收盤漲8.85%,11個(gè)交易日漲超5倍

    2025-07-10 16:33
    金色財(cái)經(jīng)報(bào)道,據(jù)行情信息,港股穩(wěn)定幣概念股國(guó)泰君安國(guó)際今日收盤漲8.85%,報(bào)收6.27港元。自6月25日國(guó)泰君安國(guó)際正式獲批提供加密貨幣等虛擬資產(chǎn)交易服務(wù)以來(lái),股價(jià)從1.24港元升至今日,11個(gè)交易日漲超5倍。
  • 查看更多