比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

NBS:如何評估“分叉版EVM”的安全風險?_BSP幣

Author:

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

本文來自 Coinbase,原文作者:Ethen Pociask & Eric Meng & Nadir Akhtar & Gabriela Melendez Quan & Tom Ryan,由 Odaily 星球日報譯者 Katie 辜編譯。

為了加強對交易 ERC-20 和其他基于智能合約的資產的客戶的安全和托管保證,Coinbase 區塊鏈安全團隊調查了定義這些資產行為的程序層:以太坊虛擬機(EVM)。在評估修改自身網絡的 EVM 的項目時,Coinbase 的區塊鏈安全團隊會審查關鍵的 EVM 更改,以確定修改后的 EVM 是否能夠提供與原始 EVM 實施相同的安全和托管保證。

截至 2023 年 5 月,以太坊虛擬機(EVM)奪得最熱門智能合約執行平臺“榜一大哥”頭銜。根據 DefiLlama 的數據,總鎖倉價值(TVL)排名前 10 位的鏈中有 9 個支持 EVM 智能合約。因此,深入了解 EVM 對于支持整個區塊鏈生態系統中的智能合約至關重要。

直播|Andrey Belyakov :如何制定DeFi 規則:金色財經 · 直播主辦的金點Trend《以太坊之外的DeFi,香嗎? 》15:00準時開播!本場嘉賓Opium Protocol 的創始人分享Andrey Belyakov “如何制定DeFi 規則”,請掃碼移步收聽![2020/9/1]

EVM 是一種虛擬機,用于在以太坊網絡上去中心化執行智能合約。許多兼容 EVM 的區塊鏈在其協議軟件中直接利用不同語言的熱門 Ethereum 執行客戶端的標準實施方案,如 go-ethereum(Golang)和 besu(Java)。

也就是說,分叉和修改 EVM 實際上在區塊鏈生態系統中非常常見,甚至在主要協議中也是如此。例如,為 Coinbase 的 Base L2 區塊鏈提供“動力”的 Optimism Bedrock Stack 使用了一個名為 op-geth 的 go-ethereum 執行客戶端的分叉版本,該版本運行的 EVM 與熱門的以太坊執行客戶端兼容。然而,這并不意味著以太坊上的 EVM 與 Optimism 上的 EVM 行為完全相同:op-geth EVM 在某些情況下的行為略有不同(即 DIFFICULTY 返回隨機值是由序列器確定的)。

動態 | 美國國防部將向國會提交“區塊鏈技術如何增強美軍工作”相關報告:今年晚些時候,美國國防部(DoD)將向國會提交報告,介紹區塊鏈技術如何增強美軍工作。價值技術協會(VTA)主席Jason Brett上周在拉斯維加斯舉行的消費電子展(CES)上接采訪時說,VTA將牽頭要求國防部組織這樣一個聽證會。(Coindesk)[2020/1/16]

雖然這聽起來很可怕,但對于 EVM 的采用來說,一般情況下是有益的。雖然標準 EVM 實施方案針對以太坊基礎協議進行了高度優化,但分叉的 EVM 通常會針對自己的新協議進行擴展。因此,合約在某些 EVM 兼容鏈上的執行方式可能與在以太坊上的執行方式不同,EVM 智能合約行為的安全假設在不同協議之間也可能存在很大差異。

為此,Coinbase 開發了一個Web3安全框架,用于評估一些分叉 EVM 實施方案中的安全影響。我們稱之為 Coinbase 的分叉 EVM 框架,下面將對其進行詳細的解釋。

有了這個分叉 EVM 安全框架,Coinbase 能夠有效地:

了解我們的以太坊代幣框架的安全假設的無效性,使我們能夠安全地啟用新的 EVM 兼容區塊鏈,以便在我們的去中心化交易所支持 ERC-20/ERC-721 代幣;

聲音 | 薛蠻子:行業應重點關注如何建立信任機制:著名天使投資人、UT斯達康創始人薛蠻子在“重構新生態”2018全球第五屆區塊鏈技術應用論壇上,就區塊鏈投資提到:很多散戶依靠對百倍千倍的幻想而去投資數字貨幣是非常危險的事。同時就區塊鏈監管也提到:如何在倒“洗澡水”的時候怎么又不把“澡盆里的孩子”倒出去,這是個很有技術難度的事情,也是短時間內很難實現的事。個人認為:接下來行業內胡亂“割韭菜”行為肯定行不通了,如何建立信任機制才是行業內應該去做的事情。[2018/7/26]

為智能合約審計師提供關于分叉 EVM 的智能合約漏洞情況的分析,特別是跨網絡中的微小差異;

確保在 Coinbase 的 Base L2區塊鏈上安全使用和執行 EVM 智能合約。

為了解以太坊虛擬機中的安全風險是如何存在的,首先要知道標準 EVM 實施方案為我們提供了哪些保障。我們將標準 EVM 定義為以太坊執行規范中描述的以太坊驗證器執行客戶端一致使用的 EVM。到目前為止,最常用的客戶端是 go ethereum(即 geth)。

我們將安全性總結為兩個安全標準,它們代表了任何分叉 EVM 實施方案有資格獲得 Coinbase 支持的最低要求。

BM:對代理如何運作和“dApp開發者”如何計費的理解可能需要調整:北京時間今日凌晨,BM在開發者群發表對代理如何運作和“dApp開發者”如何計費的理解:

??1)所有CPU/帶寬都是“執行操作的用戶”;

??2)所有存儲都按照dApp的選擇向用戶或dApp付費;

??3)dApp開發人員希望授權用戶將帶寬委托給用戶;

??4)授權帶寬理論上可以用于任何dApp。

現在想象一下,你是一個社交媒體公司,希望為用戶提供免費賬戶。用戶在您的網站上注冊,您為他們創建一個區塊鏈賬戶,然后將一些帶寬委托給他們。您的應用可以選擇為每個授權用戶支付有限的存儲空間,這使他們能夠在他們需要攜帶自己的存儲空間之前,擁有N份杰出的帖子和V張投票。如果您的應用不想為用戶支付存儲費用,則該應用可能完全是BYOS(注:Bring your own storage,使用你自己的存儲)和BYOB(注:Bring your own Bandwith,使用你自己的帶寬)應用。如果用戶不繼續他們的訂閱或停止使用您的服務,那么您可以將帶寬重新分配給其他用戶。[2018/4/30]

我們的分叉 EVM 框架在評估是否符合總體安全標準(即合約不變性和安全執行環境)時,主要關注以下審計要求。需要注意的是,以下風險成分并不是分叉 EVM 審計的全部范圍。

阿拉斯加女學生如何依靠2014年的比特幣課題支付大學學費:2014年,阿拉斯加的一位女學生以比特幣作為競賽項目課題,而在當時這一課題毫無疑問獲得了評委的青睞。到現在,這一課題不僅為她帶來了榮譽,還給她積累了一定的財富。而當時因為這一課題而了解到比特幣的孩子們大多數仍舊保留著這些比特幣,同時還保持著對加密貨幣的興趣。正如這故事所表明的,向孩子傳授有關金錢的知識并賦予他們一定的財務自由越早越好。[2017/12/29]

修改 EVM 操作碼的定義和編碼會導致合約執行方式的重大差異。例如,假設一些分叉的 EVM 實施(EVM')將算術 ADD 操作碼定義邏輯(x 1 + x 2 )改為減去兩個值(x 1 - x 2 )。

結果,偏離的 EVM '在執行上與標準 EVM 不相等且不兼容。修改操作碼的后果可能是有益的行為,比如防止算術操作碼中的整數溢出和下溢,也可能是更危險的行為,比如導致本地資產無限鑄造的自毀行為。

EVM 使用預編譯合約來定義復雜的功能(如加密函數),使用更方便和性能更強的語言,如 Golang,而不是使用不太容易訪問的 EVM 字節碼。

從根本上說,這些是通過節點軟件中表示的預定鏈地址來訪問的編程功能。以太坊黃皮書(截至 2023 年 5 月)中定義了 9 個預編譯器,對這 9 個預編譯器所做的任何更改或引入新的預編譯器都需要進行審計。

讓我們再舉一個具體的例子——BNB 智能鏈漏洞。BNB 智能鏈使用 go-ethereum 的一個偏離的實施方案來運行節點。為此,引入了兩個新的預編譯合約(tmHeaderValidate,iavlMerkleProofValidate),利用第三方軟件(即 Cosmos SDK)來執行輕客戶端區塊驗證和 Merkle 證明驗證。問題是,Cosmos SDK 軟件在其 IAWL 樹表示法中有一個實施錯誤,允許加密無效的證明通過驗證。換句話說,任何人都可以憑空產生資金。攻擊者能夠利用嵌套在 iavlMerkleProofValidate 預編譯器中的這個實施漏洞,從幣安跨鏈橋中抽走數億美元。

這個利用漏洞的例子是為了展示預編譯器安全性的必要性,以及為偏離的 EVM 實施引入新的預編譯合約所帶來的潛在風險。

引入額外的預編譯器可能帶來的致命風險包括:

允許一方單方面修改任何已部署合約的狀態;

這包括所有存儲修改(插入、更新、刪除);

使用不受信任、未經驗證或未經審計的第三方依賴項;

提供對不確定節點內值的訪問。

盡管將編譯器和 EVM 視為完全獨立的實體,但值得注意的是,Solidity 編譯器確實對前三個預編譯合約(ecrecover、sha 256 和&ripemd)的行為做出了嚴格的假設,這些合約通過 Solidity 語言中的本機語言關鍵字函數表示。在后臺,Solidity 編譯器實際上將這些關鍵字處理成字節碼,字節碼執行合約間靜態調用操作。下圖進一步說明了這種合約間的溝通方式。

修改標準預編譯器會帶來的安全風險包括:

允許中心化的交易對手單方面修改任何已部署合約的狀態;

Solidity 編譯器預編譯位置假設不一致;

提供對不確定節點內值的訪問;

使用不受信任、未經驗證或未經審計的第三方依賴項。

修改 EVM 基本組成部分所帶來的關鍵風險包括:

不約束解釋器堆棧,使其無限大;

對內存模型進行大小修改或改變,可能導致非確定性的執行;

繞過訪問控制,允許任意的對手方單方面訪問所有鏈狀態;

使用不受信任、未經驗證或未經審計的第三方依賴關系。

我們的目標是建立一個基于區塊鏈技術的開放金融系統,為此,我們鼓勵開發各種 EVM 實施方案。然而,為了讓兼容 EVM 的區塊鏈得到 Coinbase 的全面支持,它必須滿足標準 EVM 實施的基本要求。本文希望提高人們對偏離 EVM 相關風險的認識,并鼓勵資產發行人在偏離 EVM 時優先開發安全組件,提高整個 Web3 生態系統的安全意識。

Odaily星球日報

媒體專欄

閱讀更多

區塊律動BlockBeats

Foresight News

曼昆區塊鏈法律

GWEI Research

吳說區塊鏈

西柚yoga

ETH中文

金色早8點

金色財經 子木

ABCDE

0xAyA

Tags:NBSBSP區塊鏈以太坊nbs幣發行量BSP幣以下哪項不是區塊鏈目前的分類以太坊幣最新價格行情分析

以太坊價格
BSP:識別投資泡沫:如何避免被套牢?_ram幣bsc

投資泡沫是指某些資產價格出現了明顯超過其實際價值的情況,這種情況通常是由于市場投機行為和過度樂觀情緒導致的.

1900/1/1 0:00:00
穩定幣:UST崩盤一年后 穩定幣們學到了什么?_DSETH價格

撰文:563,Bankless作者 編譯:金色財經很難相信Terra 的死亡螺旋已經過去一年了,自從蒸發了幾百億美元的財富后,UST對市場的影響仍然很大.

1900/1/1 0:00:00
RWA:RWA漫談:底層資產、業務結構和發展路徑_HER

來源:Colin Lee年初至今,市場對于RWA(real world assets,即真實世界資產)的討論愈發頻繁,一些觀點認為RWA將引發下一輪牛市.

1900/1/1 0:00:00
NFT:金色Web3.0日報 | 香港證監會對基金代幣化持開放態度_SYN

DeFi數據 1、DeFi代幣總市值:479.94億美元 DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量34.

1900/1/1 0:00:00
BSP:Arthur Hayes:耐心是個好東西_Trust Domains

作者:Arthur Hayes  編譯:Lynn,MarsBit(以下所表達的任何觀點都是作者的個人觀點,不應構成投資決策的基礎,也不應被理解為參與投資交易的建議或意見.

1900/1/1 0:00:00
比特幣:比特幣核心開發者重視什么方向?_DIG

最近幾個月(2023年4月前后),隨著Ordinal、Tarproot、染色幣等技術被眾多開發者深入挖掘,比特幣生態誕生出一系列的協議產品,最出名的就是BRC20,各種搞NFT和同質化代幣.

1900/1/1 0:00:00
ads