加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > Ethereum > Info

拆解以太坊狀態(State)問題:一個鮮為人知的嚴重威脅_GAS:0XGAS

Author:

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

以太坊基金會今日發文披露了一個2019年首次發現的安全漏洞,在上個月的柏林升級之前,該漏洞的嚴重程度為發生攻擊時可能使主網癱瘓。該漏洞的本質是觸發隨機Trie查詢,以太坊開發人員曾試圖用EIP-1884、EIP-2583、EIP-2929、以及快照功能來抵御該漏洞,最終在柏林升級之后該漏洞危險性降低。通過此博客文章,目的是正式披露以太坊平臺所面臨的一個嚴重威脅。在以太坊柏林硬分叉之前,這個威脅是切實存在的。

狀態

讓我們從以太坊和狀態的背景知識開始。

以太坊狀態由一種patricia-merkletrie組成。這篇文章將不做過多的詳細介紹,隨著狀態的增長,這個樹上的樹枝變得越來越密。添加的每個帳戶都是一片葉子。在樹的根和葉本身之間,有許多“中間”節點。

為了在這棵巨大的樹中查找給定的帳戶或“葉子”,需要從根到中間節點來解析大約6-9個哈希的某個位置,以最終解析最后一個哈希hash,該哈希會指向我們正在尋找的數據。

簡而言之:每執行一次Trie查找來查找帳戶,就會執行8-9個解析操作。每個解析操作都是一次數據庫查找,并且每詞數據庫查找可以是任意數量的真實磁盤操作。磁盤操作的次數很難估計,但是由于trie密鑰是加密哈希,因此密鑰是“隨機的”,這對任何數據庫來說都是最糟糕的情況。

2023年元宇宙項目H1融資總額約7.07億美元,不及2022年全年融資總額的10%:7月4日消息,據 Dappradar 近期發布的報告顯示,自 2023 年年初至 6 月底,元宇宙項目融資總額約為 7.07 億美元,該數字雖然占據 2023 年加密項目融資總額的 43.68%,但仍不及 2022 年元宇宙項目全年融資總額(約 76 億美元)的 10%。

此外,Dappradar 在報告中將亞洲(包括中國和日本等地區)描述為虛擬宇宙將蓬勃發展的地區,因為該地區各國官方和企業正在對該行業及其發展進行大力支持和投資。中國是少數幾個制定了虛擬宇宙計劃的國家之一,其中包括在教育和旅游領域實施的舉措。字節跳動、阿里巴巴、百度和騰訊等中國公司也正在投資開發元宇宙硬件和軟件。[2023/7/4 22:16:53]

隨著以太坊的增長,有必要提高訪問trie的操作的gas價格。這是在2016年10月區塊高度2,463,000的TangerineWhistle中執行的,其中包括EIP150。EIP150在所謂的“上海攻擊”之后大幅提高了某些操作的gas成本,并進行了一系列更改以防止DoS攻擊。

另一項gas提升同樣在伊斯坦布爾升級中被執行,即2019年12月區塊高度9,069,000。在這次升級中,EIP1884被激活。

某鯨魚拋售37970枚RPL,導致RPL價格跌幅超6%:金色財經報道,據推特用戶余燼監測,6小時前一鯨魚在Uniswap拋售37,970枚RPL價值182萬USDT,導致RPL價格從50美元下跌至46.7美元,跌幅超過6%。該鯨魚的RPL是1月12日從Kraken提出,當時的RPL價格為27.6美元。該鯨魚這次RPL投資獲得收益77萬美元,收益率為74%。[2023/5/23 15:20:06]

EIP1884引入了以下操作成本更改:SLOAD從200提升到800gas,BALANCE從400提升到700gas,EXTCODEHASH從400提升到700gas。

問題

2019年3月,MartinSwende對EVM操作碼性能進行了一些測量。這次調查之后促成創建了EIP-1884。在EIP-1884上線之前的幾個月,《BrokenMeter》論文正式發表。

兩位以太坊安全研究人員與該論文的一位作者DanielPerez合作“武器化”了一個漏洞,他們將漏洞提交給了以太坊賞金計劃。這是在2019年10月4日。

我們建議您完整閱讀那次提交的內容,這是一份精心撰寫的報告。

在專門用于討論跨客戶端安全性的頻道上,當天,來自Geth,Parity和Aleth的開發人員被告知了有關提交的信息。

紐約梅隆銀行:盡管市場低迷,仍有約90%的機構投資者正在推進他們的加密計劃:金色財經報道,紐約梅隆銀行在最近一份“機構投資2.0”的研究報告中表示,接受調查的機構投資者中有70%將如果托管和執行等服務可從公認的、受信任的機構獲得,他們將增加他們的數字資產活動。該報告還指出,機構投資者正在尋找以安全和合規的方式進入加密市場的方法,而不是抱著高回報的希望立即投入。此外,這家銀行業巨頭透露,盡管市場低迷,但仍有約90%的機構投資者正在推進他們的加密計劃。幾乎所有機構投資者 (91%) 都對投資代幣化產品感興趣。

此外,88%機構對現金或所謂的穩定幣的數字表示感到滿意,72%的人表示他們希望滿足所有數字資產需求的綜合提供商。?[2022/10/31 12:01:54]

該漏洞的本質是觸發隨機trie查詢。一個非常簡單的變體是:

在他們的報告中,研究人員通過eth_call對同步到主網的節點執行了此有效負載,這些是在使用10Mgas時執行的數量:

使用EXTCODEHASH?發動10Mgas攻擊

ENS與Cloudflare合作設置替代網關“.domains”,恢復用戶對其Web3社交入口的訪問:8月31日消息,以太坊域名服務ENS宣布與網絡基礎設施和網站安全公司Cloudflare合作,在“eth.domains”上設置了另一個替代網關,用戶在ENS域名后面加上“.domains”或“.limo”就可使用一個基于Cloudflare IPFS網關的去中心化個人Web3社交入口。團隊將繼續努力恢復對“eth.link”的訪問。

此前消息,ENSDAO于8月26日在Twitter上表示eth.link域名目前已過期導致無法訪問,原因為該域名由已入獄的以太坊開發者Virgil Griffith所有,故無法獲得其賬戶訪問權限。[2022/8/31 12:59:20]

Parity:?~90sGeth:?~70s使用EXTCODESIZE?發動10Mgas攻擊

Parity:?~50sGeth:?~38s顯而易見,EIP1884引入的更改確實在降低攻擊方面產生了影響,但遠遠不夠。

在大阪Devcon大會之前確實如此。在Devcon期間,主網客戶端開發人員之間共享了該問題的知識。我們還與Hubert和Mathias以及GregMarkou進行了會面。ETC開發人員也收到了這份報告。

當前Solana生態總市值為110.81億美元:金色財經消息,據CoinGecko最新數據顯示,當前Solana生態總市值為110.81億美元(截至發稿時為1,108,184,9401美元,近24小時上漲2.2%),24小時交易額為1,404,694,995美元。[2022/7/1 1:44:49]

隨著2019年臨近尾聲,我們知道我們遇到的問題比我們之前預期的要大,惡意交易可能導致區塊時間間隔增加到分鐘級。更糟的是,開發人員已經對EIP-1884感到不滿意,因為EIP-1884中斷了某些合約程序,而用戶和礦工們都為提高gas限制而著急。

此外,僅兩個月后的2019年12月,ParityEthereum宣布退出以太坊工作,而OpenEthereum接管了代碼庫的維護工作。

之后一個新的客戶端協調頻道被創建,在該頻道中,Geth,Nethermind,OpenEthereum和Besu開發人員繼續進行協調。

解決方案

我們意識到,我們必須采取兩種方法來解決這些問題。一種方法是使用以太坊協議,并以某種方式在協議層解決該問題。最好不要違反合約,最好不要懲罰“良好”行為,但仍要設法防止攻擊。

第二種方法是通過軟件工程,通過更改客戶端中的數據模型和結構。

協議層工作

如何處理這些類型的攻擊的第一個迭代升級可以在這里查看。2020年2月,該解決方案以EIP2583的形式正式發布。其背后的想法是,每當一次Trie查找導致遺漏時,簡單地增加一個罰款。

但是,Peter為這個想法找到了一種解決方法——“屏蔽中繼”攻擊——將這種懲罰的有效范圍設定一個上限。

對于miss所導致的罰款的問題在于,首先需要進行查找,以確定必須施加罰款。但是,如果剩余的gas不足以進行罰款,則表明已執行了未付費用。即使確實導致拋出異常,也可以將這些狀態讀取包裝到嵌套調用中。允許外部調用者繼續重復攻擊而無需支付罰款。

因此,這個EIP被棄置,而我們正在尋找更好的替代方案。

阿列克謝·阿克胡諾夫探索了Oil的概念,它是“gas”的第二種來源,但與gas本質上不同,因為執行層看不到它,并可能導致交易全局還原。Martin在2020年5月提出了一個類似提案,關于Karma的。在迭代這些計劃時,VitalikButerin建議僅增加gas成本,并維持訪問名單。2020年8月,Martin和Vitalik開始迭代,也就是后來的EIP-2929及EIP-2930。

EIP-2929有效地解決了許多以前的問題。

與EIP-1884相反,它僅針對尚未訪問的內容增加成本。這導致凈成本僅增加了不足百分之一。此外,它與EIP-2930一樣,不會破壞任何合約流而且,可以通過提高gas成本來進一步調整它。2021年4月15日,它們都隨著柏林升級而上線。

開發工作

2019年10月,Peter嘗試解決此問題的方法是進行動態狀態快照。

快照是一種二級數據結構,用于以平面格式存儲以太坊狀態,在Geth節點的實時運行期間,可以完全在線構建。

照的好處在于,它充當狀態訪問的一種加速結構:

快照無需提供O磁盤讀取來訪問帳戶/存儲插槽,而是可以提供直接的O訪問時間。快照支持每項條目O復雜度的帳戶和存儲迭代,這使遠程節點可以比以前便宜得多地檢索順序狀態數據。快照的存在還實現了更多奇特的用例,例如離線修剪狀態Trie或遷移到其他數據格式。快照的缺點是原始帳戶和存儲數據實際上是重復的。對于主網,這意味著要使用額外的25GBSSD空間。

動態快照的想法已經在2019年中期開始,主要目的是成為snap同步的推動者。當時,Geth團隊正在開展許多“大項目”。

離線狀態修剪動態快照+snap同步通過分片狀態進行的LES狀態分布但是,最后決定完全優先考慮快照,暫時將其他項目推遲。這些奠定了后來成為snap/1同步算法的基礎。于2020年3月合并到主網。

隨著“動態快照”功能的發布,我們有了一些喘息的空間。如果以太坊網絡受到攻擊,那將是痛苦的,是的,但是至少有可能通知用戶有關啟用快照的信息。整個快照生成將花費大量時間,并且尚無法同步快照,但是網絡至少可以繼續運行。

在2021年3月至4月,snap/1協議在geth中推出,從而可以使用基于快照的新算法進行同步。盡管仍然不是默認的同步模式,但這是使快照不僅可用作攻擊防護,而且對于用戶來說是一項重大改進。

在協議方面,柏林升級在2021年4月正式執行。

以下是在我們的AWS監控環境中制定的一些基準測試:

柏林升級前,無快照,25Mgas:14.3s柏林升級前,有快照,25Mgas:1.5s柏林升級后,無快照,25Mgas:~3.1s柏林升級后,有快照,25Mgas:~0.3s數字表示,柏林升級將攻擊的效率降低了5倍,快照將攻擊的效率降低了10倍,總共將攻擊影響降低了50倍。

我們估計,目前在主網上,在沒有快照的情況下,創建區塊可能需要2.5-3s在一個geth節點上執行。隨著狀態的增長,該數字將繼續惡化。

如果使用refund來增加一個區塊內的有效gas使用量,則可以進一步提高2x倍。使用EIP1559,區塊gas限制將具有更高的彈性,并允許在臨時爆發中再增加2倍。

至于實施這種攻擊的可行性;攻擊者購買一個完整的區塊所需的成本約為幾個ETH。

為什么現在披露這個威脅?

長期以來,這種威脅一直是“公開秘密”,實際上至少有一次被無意間地公開披露,并且在ACD電話會議中多次被提及,但沒有明確的細節。

由于柏林升級現在已經過去,并且默認情況下,geth節點正在使用快照,因此我們估計這個威脅的危險程度非常低,可以公開了,現在該對此前的開發者幕后工作進行全面披露。

至關重要的是,社區必須有機會了解對用戶體驗產生負面影響的變更背后的原因,例如增加gas成本和限制refund。

這篇文章是由馬丁·霍爾斯特·斯文德和彼得·西拉吉2021-04-23撰寫的。在2021-04-26與其他基于以太坊的項目共享,并在2021-05-18公開披露。

Tags:GASETH以太坊TRI0XGASreth幣投資機構以太坊幣最新價格行情Tripio

Ethereum
Eth1-Eth2合并開發者測試網Nocturne產生首筆交易,所有客戶端都執行交易并保持同步_ETH:穩定幣

以太坊客戶端Geth開發者Marius表示,Eth1-Eth2合并開發者測試網Nocturne產生首筆交易,似乎所有客戶端都執行了交易并保持同步.

1900/1/1 0:00:00
浙江省區塊鏈“十四五”發展規劃是如何煉成的?_區塊鏈:ICE

2021年4月20日,浙江省發展改革委、省經信廳、省委網信辦聯合印發《浙江省區塊鏈技術和產業發展“十四五”規劃》.

1900/1/1 0:00:00
融資新聞 |區塊鏈應用解決方案Reach融資1200萬美元,估值達4800萬美元_REA:Ethereal詞匯

要點: Reach平臺旨在簡化跨區塊鏈平臺的去中心化應用程序開發,它已籌集了1200萬美元的種子資金。目前,該平臺支持以太坊和Algorand,未來將允許更多協議的使用.

1900/1/1 0:00:00
SpaceX計劃在2022年將由狗狗幣支付的有效載荷發射到月球_SPA:spacepi幣怎么挖

總部位于加拿大制造和物流公司GeometricEnergyCorporation將通過SpaceX首批登月火箭中的一枚發射由狗狗幣支付的有效載荷.

1900/1/1 0:00:00
諾獎得主克魯格曼:比特幣是龐氏騙局,但不一定很快走向崩潰_加密貨幣:比特幣

澎湃新聞記者葉映荷來源:澎湃新聞5月21日,諾貝爾經濟學獎獲得者、保羅·克魯格曼在推特上發布了一篇其發表在紐約時報上對比特幣的評論,并配文稱“預測將收到很多仇恨郵件,‘邪教’是不能嘲笑的”.

1900/1/1 0:00:00
報告:MicroStrategy公布2021年第一季度財務業績_MIC:比特幣

MicroStrategy今天公布了其2021年第一季度財務報告。報告顯示,2021年第一季度該公司總共以10.86億美元的總購買價格購買了約20,857枚比特幣,平均購買價格為每枚52,087.

1900/1/1 0:00:00
ads