譯者注:
請運行Prysm客戶端的用戶盡快升級到Alpha.23版本:
https://github.com/prysmaticlabs/prysm/releases
本期是wnie2計劃之外的更新,將針對周末Eth2Medalla測試網發生的插曲進行回顧和分析。
我們在差不多兩周前啟動了Medalla,也就是8月4日,這是一個大型的、公開的多客戶端測試網,運行Eth2主網規范。關于Medalla測試網的介紹,可以參閱上期。
測試網平穩運行了10天,即使驗證者參與率比我們預期中要低(70%-80%的驗證者保持長期在線)。但這無傷大雅,測試網完全能應付。
然而周五的傍晚,我在控制板中目睹了驗證者參與率突然斷崖式下降。在幾分鐘之內,活躍驗證者從22000降低到5000左右,網絡中約80%的驗證者都消失了。
因此,本文將對此事件進行回顧,包括其后果和下一步的措施。
究竟發生了什么?
以太坊L2網絡總鎖倉量為53.1億美元,近7日上漲8.01%:金色財經報道,根據L2BEAT數據,以太坊Layer2上總鎖倉量為53.1億美元,近7日上漲8.01%。其中鎖倉量最高的為ArbitrumOne,達到26.9億美元,占比50.71%;其次是Optimism,鎖倉量為16.9億美元,占比31.9%;第三為dYdX,鎖倉量為4.04億美元,占比7.62%。[2023/1/23 11:26:13]
我們發現,網絡中每個運行Prysm客戶端的驗證者都突然消失了。由于Prysm是使用度最高的客戶端,其后果嚴重性可想而知。
Prysmatic團隊在此次事件中開放了一個文檔報告,并且持續在其中更新事件細節以及團隊響應。以下是一些重點內容以及我的注釋。
事件起因是時鐘同步(clocksync)出現問題。Prysm客戶端的配置使用了Cloudflare的Roughtime來計算時間。(在我看來)其起因還不是非常明確,但很顯然Roughtime將時間推移到了未來的四小時,并且持續了一個多小時。Prysm客戶端驗證者們突然發現他們的時間快了四個小時,并且繼續為尚不存在的區塊鏈生成區塊和證明。
數據:以太坊PoS鏈首筆交易gas費用達36.8ETH:9月15日消息,據Etherscan數據顯示,以太坊正式轉向PoS共識機制后,首筆交易在14時42分59秒誕生,該筆交易的gas費用為36.8ETH,價值5.9萬美元。[2022/9/15 6:58:26]
就其本身而言,還不足以造成災難性的后果。即使有許多區塊丟失,并且面臨大量來自未來的證明,剩下的客戶端仍然能夠在原鏈上進行建設。漸漸地,隨著Prysm節點的時鐘調整回來,他們開始回到網絡中,并且驗證者參與率也開始回升。網絡似乎在恢復正常。
但幾小時之后,情形又急轉直下。
在初始時間發生的四小時之后,又發生了兩件事。首先,所有Prysm客戶端在未來生成的證明都開始具備有效性。其次,重新加入網絡的Prysm節點又開始消失了,原因是為了防止他們生成任何相悖的證明,罰沒保護機制被觸發了。
這兩件事同時發生,讓網絡陷入了混亂。剩下的客戶端仍在努力地處理他們所接收到的信息,信標鏈變成了不停分支的叢林。(Prysmatic團隊的Raul告訴我,Prysm首次修復中的一個bug使得情況惡化)
聲音 | EthFans主編:以太坊核心開發者并未就ProgPoW達成一致:針對CryptoBriefing關于“以太坊核心開發者正在推進抗ASIC ProgPoW,硬分叉升級暫定在7月進行”的報道,EthFans主編阿劍稱,CryptoBriefing報道不準確,以太坊核心開發者并未就ProgPoW達成一致意見,也沒有暫定硬分叉升級時間。
阿劍表示,之所以會有所謂6月硬分叉之后三周上線ProgPoW的說法,僅僅是因為議程上的偶然。硬分叉協調員James Hancock強烈支持ProgPoW,因此談到了ProgPoW是否應該跟EIP-1962放到同一次分叉中的問題。但這并不表示參與會議的開發者都支持PorgPoW(有的開發者甚至直接表示了反對)。最后大家的討論變成了“怎樣才能收集大家的真實意見”。
阿劍還表示,哪怕是CryptoBriefing報道中所說的“硬分叉計劃在EIP-1962之后三周發布,這是一個沒有爭議的更新,將為以太坊添加額外的加密功能”,也并不準確。EIP-1962仍然存在爭議,Parity和Geth客戶端開發人員都至少表示了輕微的反對。[2020/2/24]
在一段時間之內,網絡中的信息仍處于可控范圍內。但在接下來的24小時左右,要導航愈加復雜混亂的分叉,所需的內存和CPU變得難以負擔。我看到一個Lighthouse客戶端使用了30GB內存(約為通常情況下的100倍),對于Teku客戶端來說,即使使用12GB的Java內存堆并最大化處理器,也遇到了麻煩。
聲音 | RealIT首席運營官:以太坊“工程”進展將維持其貨幣價值:金色財經報道,RealIT首席運營官David Hoffman近期指出了為什么ETH正在實現貨幣價值。Hoffman強調說,這正是因為ETH堅持對協議進行的更改與其“工程”進展保持同步。直到2018年,該平臺才找到適合它的產品市場,在此之后,鎖定在DeFi中的ETH開始增加。在過去一年左右的時間里,DeFi平臺的發展對ETH的發展至關重要。截至發稿時,已有超過10億美元的ETH鎖定在活躍合約中,這一結果表明,ETH區塊鏈的金融應用在市場上頗有建樹。[2020/2/8]
請注意,這一切都發生在周末。感謝所有奮戰在一線的客戶團隊們,為了使節點能夠應對混亂的網絡,他們需要不停地優化內存和效率。
到目前為止,網絡正在逐漸恢復。用戶報告不盡相同,但是Prysm和Lighthouse的新版本剛好能夠找到正確的鏈頭并繼續構建信標鏈。?Eth2Stats當前顯示鏈頭或附近的Lighthouse、Prysm和Teku節點的一些節點。我們會繼續優化Teku,減少其在同步時所需的資源。
動態 | 在以太坊核心開發者的會議上,開發者們同意引入“ProgPow”算法:在1月4日以太坊核心開發者的會議上,開發者們同意引入“ProgPow”算法,這是一個抗ASIC算法,將維持GPU挖礦,保持以太坊的去中心化。具體引入的時間將于1月18日的會議上進行討論。安全負責人Martin Holst Swende解釋了ProPoW的重要性:“當前采用的Ethhash算法具有缺陷,成為不公平挖礦的目標,我們應該盡快轉向POS挖礦,此外,ProgPoW將成為安全轉換挖礦模式的道路中重要的節點”。開發者團隊指出,這一升級將單獨進行,在2-4個月內逐漸完成。[2019/1/6]
沒有發生共識失敗
有一點需要明確的是,客戶端之間沒有發生共識失敗,也就是說網絡恢復時,所有客戶端都能就鏈頭狀態達成共識,也就意味著信標鏈不會從根本上失敗,也不需要進行任何硬分叉。
經驗
我們將會花更多時間對這個插曲進行全面反思和總結,以下是我個人的一些陋見。
時間同步的重要性
高度依賴第三方時間服務對于網絡來說是一個致命點。碰巧的是,ConsenSysTX/RX研究團隊的AlexVlasov之前就撰文詳盡闡釋了時間同步及其在以太坊2.0網絡中的重要性。他的工作在飛速進展當中,或許這也是一次讓大家關注到這個方面的契機。此處是他的相關文章和ethresear.ch貼文。
客戶端多樣性的意義
理想情況是我們會有四個及以上獨立客戶端,每個客戶端節點所占比例不超過網絡的30%。如此一來,即使有一個客戶端出現了問題,而影響都不足以引起我們的注意。
就算我們無法達到這種理想情況,但是降低單個客戶端的極高使用率也能使得網絡更加強健。假設這次只有50%的驗證者下線而非80%,網絡也會更容易恢復。這是因為當客戶端出現問題時,會影響網絡的區塊產生、證明打包、廣播效率、點對點通信以及同步,而這些因素也會對剩余的驗證者產生連帶效應。
備用方案的有效性
一些質押者能夠切換簽名密鑰到其他客戶端的熱備份節點。這無疑使非常棒的安全網絡,雖然需要當心避免被罰沒:新驗證者可能對于既有驗證者的投票歷史一無所知,因此可能做出相悖的投票。
在將來,一旦我們完成了新的API,應該可以實現在不同的信標節點之間切換驗證者客戶端的能力,而不僅僅是密鑰。例如,一個Prysm驗證者能夠輕易地脫離Prysm信標節點,并且重新連接到Teku信標節點。這能夠解決上面提到的罰沒問題。
質押者的責任感
目前參與Eth2并不是“一勞永逸”的事。質押者們需要保持一定注意力,游走于論壇之間,為開發者提供反饋并且能夠在短時內更新客戶端。我非常支持大家運行自己的個人驗證者,但前提是對自己應承擔的責任有所意識。
欲速則不達
為什么總是在周五傍晚出岔子?
即使發生在這個時間,Prysmatic團隊做出的響應令人驚嘆。詳情請參閱該團隊的事件報告。我以下的表述并非意在給Prysmatic團隊帶來不良影響,他們的工作的確非常出色,而是為Teku團隊在面臨相似處境的時候提供經驗。
當有這么多用戶失去資產的時候(即使只是測試幣),并且網絡處于高壓狀態下,自然而然會想要做出迅速的反應,但是有時可能欲速則不達。
這次事件中有兩件事是可以避免的。首先,在初始修復版本Alpha.21中有一個缺陷,導致要求用戶在17小時后進行回滾。
據Prysmatic團隊Raul的說法,此缺陷是造成隨后出現網絡混亂的原因。其次,團隊在處理情況時無意中刪除了其1024個驗證者的防罰沒記錄數據庫,導致大部分驗證者被罰沒。
任何一個客戶端都可能會發生類似情況。所以即使處于高壓狀態下,無論是開發者還是用戶,我們所有人都要沉穩應對,不能一味追求速度。因此當我們在嘗試恢復網絡時,遵循了慢工出細活的方式。
暴露問題以絕后患
最后,這次插曲其實是有必要的。如果測試網中什么都沒測試出來,那它有何意義?一直處于順滑運行的狀態顯然是不現實的。
這次是一場了不起的考驗!這也許是網絡所能遭受的最嚴重的一類沖擊,就算讓我們自己來設計,可能也設計不出這樣的測試。讓測試網遭受這種程度的沖擊正是我們強化客戶端所需的必備條件。
上周TheBlock在文章中引用了我的陳述:
在郵件中,PegaSys工程師BenEdgington寫道Medalla“是首個具備主網規模和配置的測試網”。
“這是首次大規模試驗,而之前只是屏幕上的規范,或是玩具網絡。點對點網絡中有許多方面需要進行測試和優化。到目前為止,一切都在正常運行中,但是在我們能確保無誤之前,還需要更多的時間,更廣的規模以及更大的網絡壓力”。
說實話,還真是盼啥來啥。
下一步是什么?
目前,所有客戶端團隊都在致力于強化客戶端,使其能夠應對極端的網絡情況。問題不大,我們應該在接下來的幾天內就能使Medalla恢復到正常狀態,可能會對所有驗證者的余額產生影響,也會有一些驗證者面臨罰沒。
如果在這之后,即使網絡能正常運行,但驗證者參與率還是無法回升,那么我們可能會考慮從頭開始,重新部署存款合約(重新創世或許也是一個不錯的選擇)。但這只是現階段的一個備選方案。
Medalla萬歲!
原文鏈接:https://hackmd.io/@benjaminion/wnie2_200817
來源:What'sNewinEth2?
作者:BenEdgington
報道,隨著中國逐漸接近央行數字貨幣的發行,中國央行將大規模擴大其數字人民幣試點的范圍。根據《華爾街日報》的報道,中國商務部表示,該試點項目將很快“覆蓋中國大部分最繁華的地區”以及一些較不富裕的地.
1900/1/1 0:00:00觀點:昨日受巴菲特買黃金的影響!晚上現貨黃金大哥向上一路狂奔,把比特幣也帶起來了,毫不猶豫突破箱體強壓力位直接奔向12500附近。有做空單的朋友等瀑布還未到時機,看晚上美盤黃金是否給機會.
1900/1/1 0:00:00這不是如何交易加密貨幣的指南。這與如何賺錢,如何投資或在哪里找到阿爾法無關。但是,如果您涉足加密交易?然后您知道這件事:它可能是無所不包的.
1900/1/1 0:00:00尊敬的BITUAN用戶:“尋找幣團乘風破浪交易員”主題活動已于8月14日14:00結束,活動前30名獲獎用戶的獎勵已全部發放完畢,請注意查收.
1900/1/1 0:00:00巴比特現場報道,8月18日,“‘鏈接新維度·創新新江北’—南京江北新區全球區塊鏈高峰論壇”在南京舉行.
1900/1/1 0:00:00不少2019年年末表示要繼續大力發展的交易所在2020年都偃旗息鼓一蹶不振,當希望變成空想,交易所的管理者們又該如何走出困境引領風向呢?及時在困境中調整自己且發展勢頭依舊強勁的UUEX成立于20.
1900/1/1 0:00:00