買比特幣 買比特幣
Ctrl+D 買比特幣
ads

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

Author:

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

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

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

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

摩根大通:SEC批準BTC ETF對加密市場不會有重大改變:7月7日消息,摩根大通發布報告稱,SEC批準BTC ETF對加密市場不會有重大改變。首席分析師Nikolaos Panigirtzoglou表示,此類ETF在加拿大和歐洲已經存在了一段時間,但未能吸引大量投資者的興趣。該報告提出,自2021年二季度以來,比特幣基金沒有吸引太多投資者,也未吸引到從黃金交易所交易基金中流出的資金。[2023/7/7 22:24:19]

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

以太坊L2網絡總鎖倉量為53.5億美元,近7日上漲8.93%:金色財經報道,根據L2BEAT數據,以太坊Layer2上總鎖倉量為53.5億美元,近7日上漲8.93%。其中鎖倉量最高的為ArbitrumOne,達到26.8億美元,占比50.45%;其次是Optimism,鎖倉量為17.2億美元,占比32.3%;第三為dYdX,鎖倉量為4.02億美元,占比7.31%。[2023/1/26 11:31:04]

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

2022年穩定幣總交易量達到7.4萬億美元的歷史新高:12月23日消息,據The defiant援引加密數據分析公司Coin Metrics的數據,今年穩定幣的總交易量已達到約 7.4 萬億美元,已經打破了去年 6 萬億美元的記錄。同期,萬事達卡網絡交易量達到 2.2 萬億美元,美國運通約為 1 萬億美元,Visa 是唯一處理交易量超過穩定幣的主要信用卡提供商,約 12 萬億美元。

此外,USDT 總交易量在去年達到 3.7 萬億美元的峰值后,今年已下降至 3.5 萬億美元左右。USDC 在 2022 年排名第二,約為 2.9 萬億美元,是 2021 年結算量的兩倍多。[2022/12/23 22:03:54]

在瀏覽器的“數據輸入”欄展示的是合約調用的參數,第一行表示地址列表從“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”發送0ETH會造成什么呢?會造成Gas消耗產生分歧。

“0x10”地址的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:ETHGASTHEETHERLETH價格GASCThe Soldiers GoldEthereal詞匯

Gate交易所
GER:老李解幣:4.28日ETH一馬當先再破新高多頭是否會繼續發力_HKTIGER

有時,面對單邊的行情,有人擅長持有,是對大方向堅定的認可,面對震蕩的行情,有人喜歡波段交易,是對區間嚴密的把控,這個中間沒有誰是絕對性的對,誰又是絕對性的錯,市場是個提款機,也是個收割機.

1900/1/1 0:00:00
SHOP:買NFT?您需要知道的事情_nft幣發行量萬億有升值空間

您是否正在考慮購買非同質化通證?如果是這樣,您需要了解技術風險以及應采取的措施。NFT由區塊鏈技術提供支持,這可以使人們認為它們完全是去中心化的,因此是安全的.

1900/1/1 0:00:00
MAC:老李解幣:4.28日比特幣白盤回調近兩千點接下來該如何操作?_ETY

有時,面對單邊的行情,有人擅長持有,是對大方向堅定的認可,面對震蕩的行情,有人喜歡波段交易,是對區間嚴密的把控,這個中間沒有誰是絕對性的對,誰又是絕對性的錯,市場是個提款機,也是個收割機.

1900/1/1 0:00:00
區塊鏈:關于幣安杠桿交易SAPI開戶接口更新公告_HTT

親愛的用戶:為了更好地提升性能,幣安預計于2021年05月15日16:00關閉以下杠桿交易SAPI接口:創建逐倉杠桿賬戶:POST/sapi/v1/margin/isolated/create(.

1900/1/1 0:00:00
PUNK:狂撒100,000U獎勵,交易合約即刻開搶!_USD

最近大火的DOGE帶著他的朋友們來了,為你送上超過100,000U的福利!活動期間,只要交易指定熱門合約.

1900/1/1 0:00:00
XCH:關于數交所上線XCH的公告_BTC

親愛的數交所用戶: 平臺即將在幣幣交易區板塊上線XCH/USDT交易對,具體上線時間為:交易時間:2021年4月2720:30充值與提現:XCH主網上線技術對接完成后第一時間開啟歐洲央行管委雷恩.

1900/1/1 0:00:00
ads