比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

倫敦升級 Ropsten 測試網事故回顧_THE

Author:

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

Ropsten共識問題

概述

2021年7月21日,OpenEthereum團隊注意到他們在Ropsten上的節點卡在了區塊?10679538?處。人們原以為這是OpenEthereum的問題。其實,問題真正出在go-ethereum實現檢查1559交易發送方余額的方式上。一個無效交易被打包進了區塊。由于Ropsten礦工運行的都是go-ethereum,這個區塊隨后又被其它go-ethereum礦工接受,但是被網絡中的其它一些客戶端拒絕了。具體來說,OpenEthereum和Besu拒絕了這個交易/區塊,Nethermind、go-ethereum和Erigon接受了它。問題的根源已經找到,相關客戶端已經在新的版本中修復了該問題:

go-ethereum:?v1.10.6,?fixPR;

以太坊開發環境工具Hardhat發布v2.5.0,添加支持以太坊倫敦升級:以太坊開發環境工具Hardhat發布v2.5.0,添加支持以太坊倫敦升級。此外,Hardhat v2.6.0將于2021年8月4日發布,屆時倫敦將在主網上線激活。它將更新Hardhat Network的默認配置值,以更好地反映主網,無需任何修改。這將使倫敦成為默認的硬分叉,但其他默認值也可能會發生變化。[2021/7/25 1:13:55]

Erigon:?v2021.07.04-alpha,?fixPR;

Nethermind:?v1.10.79,?fixPR。

問題區塊的信息

網絡:Ropsten

區塊編號:10679538

哈希值:0x1252a34c4f2b061adc609e909d958c02e1ac39043e2e60c0ec47e565e3f625f1

以太坊主網倫敦升級預計在8月3日至5日之間進行,節點運營商需升級客戶端版本:以太坊基金會發布倫敦升級正式公告,宣布成功部署測試網后,倫敦升級現在已準備好在以太坊主網上激活。它將在12965000區塊上線,預計在2021年8月3日至5日之間。公告表示,為了與倫敦升級兼容,節點運營商需要升級他們運行的客戶端版本。倫敦升級后,OpenEthereum客戶端將被棄用,網絡上處理目標Gas限制的方式將被改變。倫敦升級包括EIP-1559、EIP-3198、EIP-3529、EIP-3541和EIP-3554。另外,以太坊基金會表示,所有與倫敦升級有關的漏洞賞金都將翻倍,直到升級發生。[2021/7/16 0:56:20]

OpenEthereumdebug日志

eth_getBlock輸出(go-ethereum)

以太坊客戶端Erigon發布v2021.07.03版本,配置中添加倫敦升級區塊:官方消息,以太坊客戶端Erigon發布v2021.07.03版本,變更包括在配置中添加倫敦升級區塊、EIP-1559支持eth_call和trace_*API、eth_syncing階段性展示進度等。[2021/7/15 0:54:03]

測試網事故的時間線

2021年7月21日

18:39:Ropsten測試網上挖出區塊10679537。

21:53:OpenEthereum開發者在EthereumR&Ddiscord的#1559-dev頻道發帖稱他們的節點卡在了區塊10679538處。

以太坊核心開發者會議進展:倫敦升級仍然會實施EIP-1559,輔助EIP仍在決策中:以太坊核心開發者于3月19日召開會議,討論了與倫敦升級相關的EIP。以太坊牧貓人項目管理人員、以太坊生態系統貢獻者Edson Ayllon更新會議討論結果表示,7月份的倫敦升級仍然會實施EIP-1559,輔助EIP仍在決策中。[2021/3/21 19:04:47]

21:58:@smixx?稱他們的在Ropsten節點位于區塊10680453。

22:36:Besu確認他們的節點也拒絕了區塊10679538。

22:51:確認挖出區塊10679538的礦工是go-ethereum節點。

22:55:確認go-ethereum礦工仍繼續在區塊10679538上面挖礦。

TimBeiko正式將EIP-1559加入以太坊倫敦升級,暫定今年7月或8月執行:以太坊開發者、EIP-1559貢獻者TimBeiko提交一份提案,該提案主張將EIP-1559加入到以太坊倫敦升級中,并暫定于2021年7月或8月執行。TimBeiko認為,該EIP提案沒有什么問題,已經準備好通過正常的網絡升級測試流程。下一步是讓開發人員和其他網絡參與者(即礦工)就此提案達成共識。注:EIP-1559是一個對以太坊交易機制進行優化的機制,旨在使以太坊網絡上的交易費用更加可預測,解決當前“按需付費”的收費模式問題。其目標是創建一個更有效的收費市場,并簡化客戶端和應用程序軟件的gas費付款流程。此前消息,絕大多數以太坊應用表示支持實施EIP-1559。[2021/2/26 17:54:54]

22:56:確認Nethermind也接受了區塊10679538。

23:08:go-ethereum已確認問題的根本原因。

23:43:go-ethereum開啟?pull?request,提供候選修復方案。

23:46:Erigon開啟pull?request,提供候選修復方案。

2021年7月22日

00:01:更新后的go-ethereum和Besu礦工在Ropsten上重啟。

00:43:EthereumJS確認與go-ethereum、Erigon和Nethermind存在同樣的問題。

01:57:Nethermind開啟pull?request,提供候選修復方案。

10:22:修復后的版本挖出了區塊?10680804。

22:54:go-ethereum發布了修復后版本?v1.10.6。

~23:00:Nethermind發布了修復后版本?v1.10.79。

2021年7月23日

~00:00:Erigon發布了修復后版本?v2021.07.04-alpha。

糾正措施建議

提高規范中斷言的清晰度

該提交新增了關于EIP1559類型交易有效性的斷言。具體來說,在第217行代碼新增了以下斷言:

另外還要注意的是,在前幾行代碼中,sender.balance?被修改成了減去交易量之后的部分。這個參數引發了混亂,因為一些客戶端團隊在檢查第217行定義的斷言時使用的是全部?sender.balance,而非更新后的值。

Go-Ethereum恢復

@holiman?關于go-ethereum恢復的說明:

節點同步時跟隨錯誤的鏈

假設你正在運行?geth,并處于同步中。區塊?X?上發生了分叉。你的節點跟隨了總難度較高的錯誤的鏈。在區塊?Z,你停止了節點并將其更新至修復后版本。

問題描述:節點依然在“錯誤”的鏈上。

解決方案:執行?debug.setHead{X-1)?回到分叉發生之前。這會將節點倒回區塊?X?之前的某個狀態,不一定是區塊?X-1?的狀態,因為?geth?不一定有區塊?X-1?的完整狀態,但是會有其它某個區塊的完整狀態。通常情況下,geth大約每隔1萬個區塊和/或宕機時會將狀態刷到磁盤。如果geth在?gcmode=archive?下運行,就會將每個區塊都刷到磁盤。

當錯誤的鏈總難度較高時進行同步

假設你正在同步一個?geth?節點,區塊?X?上發生了分叉。由于分叉已經發生了,再加上錯誤的鏈總難度更高,你很可能會同步錯誤的鏈,pivot區塊是?X+M。在這種情況下,由于你沒有區塊?X+M?之前的狀態,無法執行?debug.setHead?來解決這個問題。

這種情況需要重新同步。但是,你需要防止geth同步錯誤的那條分叉鏈。這可以通過?whitelist?命令行參數實現。

因此,你需要執行?geth--whitelist123123=0x2342fafa9af9af9af9af9af9。

所謂的白名單,就是一個geth節點在與另一個對等節點連接時會向對方請求區塊?123123?的數據。如果該geth節點收到的區塊頭中的哈希與白名單中的不符,就會與之斷開連接。這就意味著,節點將排斥錯誤的鏈上的對等節點,只與較短鏈上的對等節點連接。

Tags:ETHETHETHEETHERTAIKULAETHBethereumTHERADIO價格togetherbnb手游下載安卓

POL幣最新價格
美國貨幣政策轉向對加密貨幣的影響_加密貨幣

決定市場的核心因素是資金。牛市源于增量資金的不斷流入,存量資金的不斷壯大;熊市則是增量資金的萎靡,存量資金的不斷出逃.

1900/1/1 0:00:00
FTX基金會啟動「氣候計劃」:FTX現已完全實現碳中和_SBF

我們很高興宣布「FTX氣候」計劃正式啟動!FTX基金會的宗旨是,希望生活在每個人都擁有同等機會的世界。不幸的是,氣候變遷現在和將來都對這個理想構成重大威脅.

1900/1/1 0:00:00
金色前哨 | 詐騙及洗錢風險仍存 薩爾瓦多比特幣法引起公民抗議_300

薩爾瓦多法律宣布比特幣為法定貨幣的快速通過并沒有得到該國公民的好評。Decrypt消息顯示,薩爾瓦多一群由左派工會、學生協會和其他組織組成的群眾聚集在立法議會,抗議該國采用比特幣作為其國家貨幣.

1900/1/1 0:00:00
馬斯克需要比特幣_THE

特斯拉創始人ElonMusk又一次「更新」了他對比特幣的看法,在7月21日舉辦的「TheBWord」比特幣大會中,他自詡比特幣支持者并表示,特斯拉可能會再次接受比特幣支付.

1900/1/1 0:00:00
Vitalik最新演講:以太坊進入2.0之后會發什么?_VIT

7月24日由巴比特舉辦的2021世界區塊鏈大會在杭州開幕。以太坊聯合創始人VitalikButerin發表題為《以太坊進入2.0之后,會發什么?》的演講.

1900/1/1 0:00:00
金色觀察|時間加權自動做市商與AMM有什么區別?_SDC

金色財經消息,Uniswap創始人正在與Paradigm兩名研究院研究新的AMM模型,其研究為在以太坊上處理大額交易,可以將大額交易分成碎片在一定時間內消解.

1900/1/1 0:00:00
ads