以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

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

Author:

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

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

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

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

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

一名比特幣核心代碼管理員已于本周四離開,當前擁有代碼修改權限的僅剩5人:2月17日消息,一名比特幣核心代碼管理員已于本周四離開,當前擁有代碼修改權限的僅剩5人,據比特幣核心開發者Andrew Chow此前統計數據顯示,自2009年推出以來僅有包括他在內的17人獲得過更改比特幣核心代碼權限,包括中本聰、Martti Malmi (Sirius, sirius_m)、Gavin Andresen、Gloria Zhao (glozow)等。

分析認為,比特幣核心代碼管理員離開或與薪酬有關,數據顯示比特幣維護者的一年補助金從10-15萬美元不等,相比之下谷歌公司的中級程序員薪水可達22.5萬美元(外加福利、獎金和股票)。Coinbase在提交給美國證券交易委員會的文件中警告,比特幣核心開發者的組織方式可能會限制比特幣增長,這些人對代碼所做的更改“可能會影響網絡的速度、安全性、可用性或價值”。[2023/2/17 12:12:54]

捷克王子希望使用NFT保存家族歷史:7月25日消息,捷克共和國王子 William Rudolf Lobkowicz 最近在接受 CNBC 采訪時表示,他計劃通過 NFT 來保存他家族的歷史。NFT 包含家族藝術品的數字版本。Lobkowicz 王子最近還在 Twitter 上表現出對 Web3 和區塊鏈技術的興趣。(finbold)[2022/7/25 2:36:36]

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

Glassnode:超150萬枚BTC在1.76-2.12萬美元價格區間交易:金色財經報道,據區塊鏈分析公司Glassnode披露數據顯示,當價格跌至1.76萬美元時,總共有921.6萬枚BTC處于持有未實現的損失狀態。然而,在6月18日的投降之后,經過一個月的盤整,以及價格反彈到2.12萬美元之后,這個數量已經下降到768萬枚BTC,這表明有153.9萬枚BTC在1.76萬美元和2.12萬美元之間進行了交易(以成本為基礎),說明大約有8%的流通量在這個價格范圍內轉手。[2022/7/23 2:32:42]

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

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

現在我們開始遍歷地址列表,看第三行的“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:ETH比特幣GASPENtogetherbnb手游下載最新版小伙找回了5000比特幣Gasgainspendle幣發行價

中幣下載
OIN:Coinbase上市半月發生了什么?

編者按:即便有少量的利空消息存在,Coinbase上市半月的表現仍較為理想。Coinbase上市已有半月,作為加密貨幣交易所,它的表現與幣市息息相關.

1900/1/1 0:00:00
MAN:牛市半途暴力洗盤 接著奏樂接著舞

比特幣在2021年4月終結了連續6個月的強勢上漲,錄得月線收陰,同時已經連續10周處于45000-60000美元一線劇烈震蕩,未能創下有效新高,引起市場對于行情見頂的恐慌,觸發市場短期大幅調整.

1900/1/1 0:00:00
SUPE:藝術市場總在秘密進行:超過60%NFT藏家會“購買并持有”

這是一個讓我激動了半天的鏈上數據可視化案例。作者通過對SuperRare上887位藝術家創作的16198件NFT作品,涉及3210位收藏家和超過23000筆交易進行可視化分析.

1900/1/1 0:00:00
INE:4.28午間行情:反彈放緩 有回踩需求

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
數字人:金色早報 | 市場消息:Facebook明天可能會宣布其持有比特幣

頭條 ▌市場消息:Facebook明天可能會宣布其持有比特幣4月27日消息,幾個加密社區大佬正在討論Facebook可能在其資產負債表上持有比特幣的傳聞.

1900/1/1 0:00:00
BTC:5.7午間行情:活躍的市場潛藏危機

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
ads