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;
V神發布倫敦升級后鏈容量增加約9%的三個原因:V神(Vitalik Buterin)發文《鏈容量為什么在倫敦升級之后增加了約9%?》。V神表示有3個原因:
1. 冰河時代延遲
當倫敦分叉開始時,冰河時代才剛剛開始生效。倫敦之前的平均區塊時間約為13.5秒,倫敦之后的平均區塊時間回落到其長期正常水平約13.1秒。這是區塊速度約3%的差異,這解釋了鏈上gas使用量增加9%中的3%。
2. 目標值1500萬與最大1500萬
在倫敦升級之前,區塊最低gas使用量為1500萬,并非所有區塊都使用了整個1500萬,即使是功能最完善的區塊生產者也會留下0-20999未使用的gas,因為剩余空間太少,無法容納單筆交易,除此之外,總會有偶爾的區塊生產者制造空塊。4月份的一項分析表明,大約2%的區塊是空的。假設在倫敦之前有大約2-3%的未使用空間。然而,在倫敦之后,1500萬不是最大值,而是目標值。這意味著,如果使用的平均gas(包括空塊)低于1500萬,則基本費用將減少,直到平均值回到1500萬。所以這又占了大約2-3%。
3. basefee調整中的數學缺陷
EIP1559公式在目標為50%時并不完美。從最近觀察到的時間跨度中獲取數據,51.5%是完整區塊(full block)(因此,比預期的50%高約3%)。[2021/8/15 22:15:37]
Erigon:?v2021.07.04-alpha,?fixPR;
Skew:一旦倫敦升級完成后,ETH隱含波動率就會急劇下降:Skew發推特表示,一旦倫敦升級完成后,ETH隱含波動率就會急劇下降。[2021/8/6 1:39:53]
Nethermind:?v1.10.79,?fixPR。
問題區塊的信息
網絡:Ropsten
區塊編號:10679538
哈希值:0x1252a34c4f2b061adc609e909d958c02e1ac39043e2e60c0ec47e565e3f625f1
OpenEthereumdebug日志
eth_getBlock輸出(go-ethereum)
以太坊核心開發者會議確認倫敦升級不會推遲,仍將在區塊12,965,000進行:以太坊開發者trent表示,以太坊核心開發者會議正在進行中,與會人員都堅持倫敦網絡升級的區塊12,965,000進行。[2021/7/24 1:12:21]
測試網事故的時間線
。
2021年7月21日
18:39:Ropsten測試網上挖出區塊10679537。
21:53:OpenEthereum開發者在EthereumR&Ddiscord的#1559-dev頻道發帖稱他們的節點卡在了區塊10679538處。
21:58:@smixx?稱他們的在Ropsten節點位于區塊10680453。
22:36:Besu確認他們的節點也拒絕了區塊10679538。
火幣研究院首席研究員William:以太坊倫敦升級利于用戶 不利礦工:金色財經報道,在7月13日舉辦的《金色百家談 | 以太坊倫敦硬分叉倒計時!EIP-1559帶來了什么?》直播節目中,針對實施EIP-1559對用戶及礦工的影響,火幣研究院首席研究員William表示,EIP-1559對以太坊用戶來說是十分有利的,主要體現有:
(1)降低交易費用。EIP-1559通過將交易費用的估算策略遷移到協議內部,為交易者提供一個可預測的交易報價,降低信息的不對稱性,由此解決“贏者的詛咒”,降低了用戶的交易費用;
(2)通過Base Fee銷毀機制,降低ETH的通脹率,并由此提高ETH的價格,這利好于持有ETH的用戶;
(3)降低不必要的延遲。當前由于每個區塊的Gas Limit限制加上交易量的自然波動,交易通常需要等待幾個區塊才能被包含在內,這無疑是低效的;而EIP-1559引入了松弛機制,允許一些區塊變大,而另一些區塊則可以變小,由此降低延遲。
對于礦工來說,EIP-1559相當不友好,它相當于把礦工的交易手續費中大頭部分拿掉(EIP-1559將費用拆成Base Fee和Tip兩部分,其中Base Fee會被直接銷毀),直接減少了礦工的收入,因此引起了礦工的抗議。[2021/7/13 0:48:21]
22:51:確認挖出區塊10679538的礦工是go-ethereum節點。
以太坊倫敦升級在測試網上啟動 一天內在Eth2上質押了10萬以太坊:根據EIP-1559跟蹤網站WatchtheBurn,自倫敦部署以來的一天內,Ropsten上已經燒毀了大約88,500個測試網ETH,名義價值1.776億美元。加密數據聚合器CryptoQuant發現,大約在Eth2推出的同時,100,000以太幣已存入Eth2的Staking合約,價值約2億美元。CryptoQuant還指出,目前超過5%的ETH供應被鎖定在價值約117.5億美元的質押中。[2021/6/25 0:05:41]
22:55:確認go-ethereum礦工仍繼續在區塊10679538上面挖礦。
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:ETHTHEETHEETHEREthereal對應的情侶名BitetherEthereumeRushetheral代表什么意義
相比傳統銀行卡,硬件錢包并不拘泥于形式,DCEP的芯片模塊是可以集成在日常生活的移動終端、掛件、智能手環,乃至各類可穿戴設備,都能成為硬件錢包以滿足不同人群的使用需求.
1900/1/1 0:00:00平行鏈拍賣是Kusama和Polkadot的核心特征。拍賣結果決定了哪些項目可以獲得平行鏈插槽以及需要鎖定代幣的數量。為了生態系統的健康,重點的是要把稀缺的插槽分配給最能充分利用它們的項目.
1900/1/1 0:00:00文︱喬安娜 在國內對加密資產進行嚴監管背景下,最近,穩定幣似乎成了下一個被重點“關照”的對象。“美聯儲專注于把事情做對.
1900/1/1 0:00:00我看到OptimismPBC上部署的Uniswap的快速確認功能引起了很多人的興趣。但這是如何做到的?用戶可以放心使用嗎?只靠一個定序器提供確認難道不會威脅到去中心化嗎?讓我來一一為你解答.
1900/1/1 0:00:00TraditionalfinancialmarkethasbeenanimportantbutmissingpartofDeFi,outofconcernforcompliance.
1900/1/1 0:00:002008年,中本聰發表了論文《比特幣:一種點對點的電子現金系統》,這篇論文給區塊鏈技術和加密數字貨幣發明提供了基礎。至今比特幣系統已經運行了十余年,但比特幣在各國及地區的合法性和政策仍有不同.
1900/1/1 0:00:00