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

因 “0x10” 地址的 Gas 消耗分歧產生的柏林硬分叉 Bug_ETH:THE

Author:

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

以太坊?OpenEthereum?單客戶端在區塊?#12244294?處發生的 Bug 導致當時的以太坊網絡停機,并在問題區塊產生后無法與網絡保持同步。那么造成這個事故的原因究竟是什么呢?

先看觸發了這個事故的交易:

https://eth.tokenview.com/cn/tx/0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247

這是一筆合約調用交易,是從 KuCoin 交易所向其他地址分發ETH。

以太坊客戶端Geth發布v1.12.1版本:8月11日消息,以太坊Go語言客戶端Go Ethereum發布以太坊客戶端Gethv1.12.1,Go Ethereum表示這可能是其有史以來最大的維護版本。Go Ethereum建議所有用戶升級此版本。

Go Ethereum表示,即將到來的Cancun(坎昆)硬分叉的開發一直是本次發布周期的重點,雖然Gethv1.12.1尚未為Cancun做好準備,但該版本已針對EIP-4844 Shard Blob交易包含基本類型定義和狀態轉換邏輯,還為EIP-4844交易實現了一個全新的內存池——blobpool。blobpool尚未被p2p網絡使用,仍在坎昆開發網絡中進行測試。此外,Geth不再支持Rinkeby測試網(#27406)。[2023/8/11 16:20:15]

灰度比特幣信托負溢價率漲至39.77%:金色財經報道,Coinglass數據顯示,當前灰度總持倉量達226.62億美元,主流幣種信托溢價率如下:BTC,-39.77%;ETH,--51.64%;ETC,-61.74%;LTC,-44.89%;BCH,-19.19%。[2023/5/12 14:59:52]

我們仔細分析一下合約調用過程:

在瀏覽器的“數據輸入”欄展示的是合約調用的參數,第一行表示地址列表從“40”(16進制)字節,也就是 64 字節開始,圖中第4行,第二行表示轉移數額的列表從“1a0”(16進制)字節,也就是 416 字節開始,數據輸入欄第15行。

數據:約228億枚USDC存放在EOA錢包中,超USDC總量的一半:金色財經報道,Circle歐盟戰略與政策總監Patrick Hansen發推表示,目前超過一半(約228億美元)的USDC存放在EOA錢包中,而交易所中的比例不到10%,

此外在持有USDC的錢包中,75%的錢包持有數量低于100枚USDC。[2022/10/31 11:59:25]

轉賬是按照地址列表的順序進行的,往每個地址轉入的數額和轉移數據的列表一一對應的。

現在我們開始遍歷地址列表,看第三行的“10” (16進制),表示的是即將為接下來的 16 個地址轉入 ETH。

按照圖上順序,當數到第11個地址的時候,發現值是“10”。這個值會被認為是地址列表中的第11個地址,然而事實上是表示轉移數額的列表長度。那么按照第三行的指示,應該向 16 個地址轉入,合約會把“0x10”當成地址繼續執行轉賬操作,向地址“0x10”轉入 0 個 ETH。

注意,“0x10”是EVM “特殊地址” 之一,它完全處在 EVM 的預編譯合約列表內。它是一個由 EIP-2537 斷言的預編譯合約,是為 BLS 配對密碼學程序而設的,但這個 EIP 還未部署到主網上。

那么在柏林硬分叉中給“0x10”發送 0 ETH 會造成什么呢?會造成 Gas 消耗產生分歧。

柏林硬分叉改變了 EVM 中 Gas 消耗量的計量方法。在 EIP-2929 實施后,如果在一筆交易中對同一個存儲槽多次執行狀態存儲操作,第一次執行會消耗更多 Gas,后續執行的消耗會更少。

這就是OpenEthereum 在區塊 #12244294 處發生 Bug 的根源:OpenEthereum包含了EVM已實現的預編譯列表。所以OpenEthereum 會對該筆交易中訪問了“0x10”的交易給gas 折扣。但網絡的絕大部分活躍客戶端都不是這樣實現 EIP-2929 的,它們只會給訪問了已激活預編譯合約的交易提供 gas 折扣。

由此,OpenEthereum 客戶端對該交易消耗了多少 Gas 的計算與網絡中其他客戶端發生了分歧。

這場由Gas消耗分歧引起的 OpenEthereum 單客戶端停機,雖沒有嚴重到導致重大的鏈分叉,但也提醒我們利用多客戶端實現來提升節點穩定性。

不可否認,區塊鏈技術仍然處于不斷嘗試不斷前進的過程中,2021 年爆發的Defi和NFT也以前所未有的速度普及給更多的受眾,Tokenview希望攜手更多的開發者打造更好的區塊鏈世界。

Tags:ETHREUETHETHEETH激素ReucoinSethertogetherbnb手游下載破解

FIL
為什么各國都在“去比特幣”?_CBD:BDCC價格

加密貨幣的興起給中央銀行和金融當局造成了挑戰,因為以替代貨幣形式進行的交易不像通過銀行和其他傳統中介機構進行的交易那樣易于追蹤。比特幣或許正在吸引人們的注意力.

1900/1/1 0:00:00
對沖基金大鱷 Alan Howard 從傳統金融到加密貨幣的投資藍圖_HOW:比特幣

著名對沖基金經理 Alan Howard 此前買入 6 億美元比特幣和以太坊,近期仍在積極布局加密貨幣投資.

1900/1/1 0:00:00
Gavin Wood發布平行鏈上線清單 拍賣如何兼顧收益與流動性?_DOT:WOO

“我們該以怎樣的方式參與插槽拍賣??4 月 20 日波卡創始人 Gavin Wood 發布 Kusama 平行鏈上線清單.

1900/1/1 0:00:00
金色前哨 | MicroStrategy:持有9.1萬余枚BTC 未來將繼續增持_比特幣:RAT

2021年4月29日,納斯達克上市公司、商業智能軟件公司MicroStrategy發布2021年一季度(截至3月31日)財報。MicroStrategy在一季度財報中披露了其比特幣儲備情況.

1900/1/1 0:00:00
晚間必讀5篇 | 深度解析一季度Layer1表現_以太坊:比特幣

1.以太坊續創新高 或將引領山寨季走向高潮在以太坊創下2,760美元的歷史新高之后,世界第二高價值的加密貨幣達到了3200億美元的市值.

1900/1/1 0:00:00
幣圈OTC涉嫌幫信犯罪的辯護要點:OTC合法性、犯罪主觀故意_OTC:TOKEN

當前,幣圈涉嫌犯罪的情況越來越引起辦案機關的重視,幣圈otc作為從事法幣與數字貨幣交易的環節,在整個犯罪鏈條中更容易被發現,處于全案打擊的前端位置.

1900/1/1 0:00:00
ads