作者:?BenEdgington
翻譯:?阿劍
編者注:2020年8月15日,Medalla測試網出現了驗證者參與率的大幅下降,起因是Prysm客戶端默認使用Cloudflare公司的roughtime服務來較準節點的本地時間,但當時的roughtime服務出了錯,導致所有Prysm節點的本地時間都快了4個小時,如此一來,Prysm節點就與使用其它客戶端的節點隔絕開來了。
事發之后,Prysm客戶端團隊迅速推出了緊急修復并密切跟蹤事態。但Medalla測試網仍因為各種原因而繼續動蕩,無法敲定epoch。事實上,事發之后,截至發文之時,Medalla測試網僅在北京時間2020年8月20日凌晨曾敲定區塊,隨后驗證者參與度又降到了66%以下,未能敲定區塊。
事實雖然令人不安,但它恰好提供了一個我們審視Eth2網絡、審視節點行為的機會——絕不應放過這樣的審視和反思的機會,否則我們仍有可能重蹈覆轍。
我們選擇了多份材料,嘗試多角度、多層次地復現完整的事實、囊括盡可能多不應被忽略的因素。誠然,我們缺乏能觀察到去中心化網絡全局情形的上帝之眼,認知的深度必定有其邊界,但我們仍然希望,對陷入混沌的網絡的恢復過程和參與者在此過程中的激勵因素,能有一個完整的描述。到目前為止,這個目標還未實現。
第一份材料,來自Prysm客戶端工程師prestonvanloon.eth在推特上對事件的報告。
Medalla測試網全局性故障初探
phil.eth:
ETH2.0測試網Medalla目前無法敲定區塊,因為Prysm客戶端的roughtime時鐘同步出了問題。目前已經有了修復方案。請Prysm用戶更新并重啟你們的客戶端。這一突發情況再次表明了客戶端多樣性以及測試網的重要性。
prestonvanloon.eth:
今天早些時候,Prysm出現了全局性故障,持續時間將近90分鐘。本次事件的始末如下:
Stargate基金會建議DAO不要重新發行STG代幣,FTX清算人或將尋求賠償:3月13日消息,基于 LayerZero 的跨鏈流動性協議 Stargate 發推稱,Stargate 基金會建議 DAO 不要重新發行 STG 代幣。去年 FTX 破產后,FTX/Alameda 錢包出現密鑰泄露或內部問題,被黑客攻擊損失約 5 億美元。FTX 清算人最終將所有資產轉移到新錢包,密鑰不會泄露給黑客。Stargate DAO 認為,該錢包的密鑰極有可能在 FTX 清算人 / Alameda 與黑客之間泄漏與共享,并提議重新發行 STG 代幣以將這些資金轉移出該錢包。
FTX 清算人近期表示,如果重新發行并轉移資金,將違反自動中止條款,并將積極尋求賠償。
經與律師溝通后,FTX 清算人認為代幣已經在其錢包中并無需采取任何行動,以及代幣將在 3 月 17 日一次性被領走。Stargate 基金會認為這是錯誤的,且沒有跡象表明 FTX 清算人對智能合約的實際情況、運作方式以及如何與合約互動以確保資金安全有深刻認知。基金會認為 FTX 清算人更愿意將代幣保存在一個不安全的錢包中。LayerZero Labs 表示其明確保留在任何時候就 STG 代幣所有權問題以及因清算人在確保這些資金方面的不負責任而造成的任何損失采取任何法律行動并行使任何補救措施的權利。它們重申,假設其成功并在法庭上獲勝,代幣將以成本價轉移給 Stargate DAO。
金色財經此前報道,2 月 6 日 Stargate 此前提出的重新發行 STG 的提案以 90% 的支持率投票通過,依據提案內容將于 3 月 15 日執行。[2023/3/13 13:00:17]
世界協調時17:30左右,@terencechain發現其客戶端的時鐘提前了4小時。很快,出現時鐘偏移報警,discord頻道也被大量用戶報告淹沒。
Prysm客戶端確實出了問題。
Medalla測試網上的驗證者參與度驟降,其下降速度甚至超越了$YAM的歸零速度,從75%降至5%以下。PrysmaticLabs團隊立即展開了緊急行動。
BNB Chain鏈上ETH PoW空投已完成:金色財經報道,據 BNB Chian 社交媒體發文,針對 ETH 持有者的 ETH PoW 空投已經完成,BNB Chain 還發布了 BEP-2 和 BEP-20 Token 的相關合約地址。此前 BNB Chain針對以太坊合并提供了 ETH PoW 空投,幫助 BNB 鏈上 ETH 持有者無需將自己的 ETH 橋接回以太坊主網,所有余額大于等于 0.1 ETH 的錢包地址都有資格以 1:1 比例獲得分叉的 ETH PoW 空投代幣。[2022/12/27 22:10:49]
我們決定將軟件改成默認禁用roughtime時鐘同步,取而代之的是可選擇的功能切換。這樣可以防止此類問題再次大規模爆發。從現在開始,roughtime的結果將僅供客戶端軟件參考,不再用于自動時鐘校準。
下圖是Prysm節點出現超過2秒的時鐘偏移的時間段,從北京時間凌晨1:30至3:00持續了大約90分鐘。
圖片來源:@prestonvanloon.eth
現在,我們正看著這個數據思考一個問題“roughtime服務器怎么會偏差這么大?”數據顯示,所有Prysm服務器報告的偏移量都在0.1秒不到。最后為什么會提前4小時??
圖片來源:@prestonvanloon.eth
我們還在調查這個問題!肯定是roughtime的增量計算出了bug,我們希望能盡快找到它。無論調查結果如何,我們認為應該將自動時間校準作為可選項,甚至徹底取消掉。
歡迎閱讀完整的事后調查報告,了解最新的調查進展。
在主網上線之前,測試網就是用來發現這類問題的。面對這種情況,多幾個客戶端選擇對用戶更為有利。
Bitget宣布與傳奇球星梅西達成合作:據官方消息,Bitget 宣布已與阿根廷傳奇足球運動員、七次金球獎記錄保持者梅西建立合作伙伴關系。
通過本次合作,Bitget將為梅西的球迷們提供探索Web 3和在加密貨幣投資的特別機會。此外,Bitget與梅西已達成共識,未來會通過合作幫助雙方探索更有影響力的發展,在加密資產、足球以及更廣泛的領域協助互動。
Bitget董事總經理Gracy Chen表示,我們在選擇的合作伙伴關系時,都希望充分反映我們平臺社區的多樣性和豐富性。我們向體育迷們展示和開放Web 3世界。他們也向加密世界打開了通往體育領域的大門。[2022/10/21 16:34:38]
編者注:第二份材料來自Prysm客戶端團隊的分析報告,有詳盡的時間線記錄。從中我們可以知曉Prysm客戶端發布緊急修復的整個過程,以及緊急修復帶來的連帶影響。截至本譯稿發表之時,該分析報告表示已經找到了故障的具體原因。值得一提的是,報告原文所用的都是UTC時間,我們一律轉換成了北京時間。
“roughtime”事件分析報告
作者:Terence、Raul、Preston
狀態:等待決議。根本原因已找到,問題已緩解。
網絡:Medalla
總結:Cloudflare的roughtime服務器全都返回錯誤信息,而Prysm節點并沒有采取適當的應急措施。這個bug導致所有Prysm節點出現時鐘偏移。在時鐘偏移的影響下,驗證者為超前的slot提議區塊并生成見證消息。
影響:由于roughtime響應錯誤以及出現時鐘偏移,驗證者計算slot錯誤,提議的區塊和生成的見證消息均無效。這個問題影響到了全局參與度。在北京時間凌晨1:30至2:45之間,所有Prysm節點都受到了影響。
根本原因:來自Cloudflare服務器的roughtime響應出錯。具體來說,是因為“ticktock”報告了一個24小時之后的時間。這個時間戳,再經過所有6個服務器的數據取平均值,是的所有Prysm節點都產生了+4小時的時間調整。
運動品牌Vans發行限量數字藏品:9月21日消息,運動品牌 Vans 近期將通過得物 App 數字藏品平臺發行限量數字藏品。用戶在活動期間通過購買品牌專供 Vans 產品或參與社區話題均有機會免費獲得數字藏品空投。[2022/9/21 7:10:57]
解決方案:在我們評估roughtime響應錯誤所引發的潛在問題時,先將roughtime時鐘同步設為可選項。
發現:Terence最先發現了這個問題。他注意到一個本地信標鏈節點一直在拒絕超前的區塊和見證消息。幾分鐘之后,由于roughtime時鐘偏移量較高,產生了報警。同時,#general和#bug-report頻道的用戶開始報告本地節點拒絕超前區塊和見證信息的問題。
經驗教訓
哪里出了問題
我們誤以為,對于roughtime服務器故障的問題,我們有適當的應急方案。
網絡中的每個Prysm節點同時受到影響,導致驗證者參與率大幅降低。
PrysmaticLabs團隊原以為,NTP服務器本身較為分散,而且每個服務器都開放6個端口,不會出現全局故障的問題。
萬幸的是
一位貢獻者已經向我們提交了一個PullRequest,把roughtime時間校準設為可以選擇退出的功能。
我們已經可以用命令行功能標簽立即選擇取消roughtime時鐘校準,這讓修復措施變得簡單,而且只需一次PullRequtest就能驗證。
用戶在Discord上積極參與討論。當節點出現問題時,有大量用戶提供了詳細報告和重要指標。
我們有一個持續不斷的重同步機制,當它發現時鐘偏移量超過2秒時,它會不斷更新節點本地的時間。我們一直在重新校準roughtime時鐘,以便更快解決這一問題。這可能讓這次事件提前了大約30分鐘至1小時結束。
津巴布韋啟動區塊鏈和數字資產經濟特區:8月1日消息,津巴布韋總統 Emmerson Mnangagwa 啟動高科技園區 zimm Cyber City,由阿聯酋投資者穆爾克國際公司(Mulk international’l)出資 5 億美元建立,Emmerson Mnangagwa 已授予其建立區塊鏈和數字資產經濟特區的獨家許可。Mulk International 副主席Adnan Ul Mulk 表示:“Mulk International 一直在努力了解市場,深入了解津巴布韋的文化及其豐富的機會。跨行業的資源深度和先進的數字能力為 Zim Cyber?? City 提供了具體的長期增長前景。[2022/8/1 2:51:20]
roughtime時鐘同步問題似乎在大約90分鐘后就解決了,而且在我們能夠緊急發布新版本前,這個事件就已經結束了。
時間線
2020/08/15
1:25AM:Terence發現他的本地節點由于一直拒絕超前區塊,收到了大量報警。這些區塊的slot都超前了4個多小時。
1:28AM:Prometheus監控報警系統收到了roughtime偏移量高的報警。那時,距離網絡最后一次敲定區塊過去了10epoch。
1:35AM:至少有30名用戶在Discord頻道表示他們開始收到下方報警:WARNroughtime:Roughtimereportsyourclockisoffbymorethan2secondsoffset=4h0m0.028854657s
1:43AM:Terence在#war-room頻道群發了告警消息,稱這是一個PS0級別的事件,需要大家共渡難關。
1:45AM:Discord頻道的用戶提出,重啟信標鏈節點和驗證者客戶端無法暫時解決這個問題。最可行的方案是將roughtime時鐘同步設為可選禁用的功能。
1:51AM:問題上升到了多客戶端聊天室
1:52AM:Ivan完成了?https://github.com/prysmaticlabs/prysm/pull/6898
2:00AM:Terence與512位驗證者一起在本地測試了6898號PullRequest。
2:20AM:據已捕獲的調試日志顯示,“ticktock”服務器有段時間一直在報告24小時之后的時間。
2:27AM:Raul聯絡了Preston。Preston將在1小時內回來構建新版本。同時,我們將發布docker鏡像。
2:40AM:Preston指出只靠緊急修復還不夠,我們需要取消將roughtime時鐘同步作為默認項。
2:42AM:Raul開始調查Kibana,并使用fluentd中的filter分析來自roughtime的調試日志響應。
2:43AM:Terence交叉檢查了信標鏈命名空間中所有pod的kubectl日志。正如預期的那樣,pod確實存在roughtime時鐘偏移問題。
2:46AM:Raul向6898號PR提交了正確的修復程序。
3:05AM:Raul確認該修復程序可以讓節點在本地工作。如果存在時鐘偏移,修復程序會產生告警日志,但是不會試圖基于roughtime服務器更新時間。
3:08AM:Terence在我們的discord頻道向所有人宣布:“Prysm節點出現roughtime響應錯誤,應急措施沒有達到預期效果。我們已經找到了故障所在,很快就會進行緊急修復,并在1小時內上線新版本。在即將發布的新版本中,roughtime時鐘同步將不再是默認項。”
3:18AM:Buildkite單元測試、規范測試、docker鏡像構建成功。e2e測試尚未完成。Preston準備啟動上線流程。
3:22AM:新版本生成:https://github.com/。Terence確認這個方法可以修復其驗證者節點。Preston開始使用新的docker鏡像依次重啟我們的有狀態集合中的pod。集群驗證者會基于新的鏡像進行更新。
3:34AM:Docker鏡像被標記成alpha21版本,穩定性好,二進制文件已經構建完成
3:34AM:對有狀態集合中pod的健康狀態進行監控,確保滾動更新成功
3:36AM:使用新的docker鏡像對我們的驗證者pod進行滾動啟動。
4:29AM:在日志上查看返回的延時值。平均來看,這些值似乎都在0.1秒以下。延遲不是調查的關鍵指標。準確來說,“中點”才是需要研究的地方。注:下表時間是太平洋標準時間。https://kibana.prylabs.network/
-圖片來源:@prestonvanloon.eth-
5:32AM:查看高于2秒的偏移量。從該數據中可以看出,在長達90分鐘的全局故障期間,Prylabs出塊節點的偏移量大約是14000秒。注:下表時間是太平洋標準時間。
https://kibana.prylabs.network/
-圖片來源:@prestonvanloon.eth-
4:41AM:通過Prometheus報警系統關于平均偏移量的數據,我們可以明顯看出在北京時間凌晨1:30至2:45之間確實存在時鐘偏移問題,之后偏移量開始下降并恢復正常。
4:52AM:即時調查結束。這次時鐘偏移故障顯然已經結束,而且修復程序已經發布。已經更新的節點將立即恢復,還沒有更新的節點需要過段時間恢復。監控系統顯示,驗證者參與度在逐步回升。
6:20AM:用戶報告說罰沒保護機制已經啟動。這是因為之前的時鐘偏移導致驗證者超前4小時提議區塊并生成見證消息。為了避免遭到罰沒,Prysm驗證者沒有繼續提議無效區塊。
8:13AM:再次故障
8:13AM:Nishant注意到6898號PR中存在嚴重缺陷。只有在roughtime功能標記開啟的情況下,用戶才能設置它的功能。
8:16AM:Preston更新了“最新的”二進制文件,使其指向alpha20版本來實現臨時回滾,并建議用戶回滾至alpha20版本。我們現在正在等待合并7004號PR作為alpha22版本的候選。
8:45AM:值班團隊正在評估是否擴大熱狀態緩存的大小,以便alpha22版本能夠更快讓網絡重新開始敲定區塊。當前默認的熱狀態緩存大小為8個epoch,但是Medalla測試網距離上一次敲定區塊已經過去了將近100個epoch。
9:12AM:值班團隊決定將默認緩沖大小更新至64epoch,并使其可以通過功能標記來配置。經過初步測試,這有可能會使內存使用量增加1.5G。等網絡重新開始敲定區塊后,緩沖大小還可以調整。
9:57AM:所有PrysmaticLabs驗證者節點都生成了會被罰沒的見證消息。緊急修復程序刪除了Prylabs驗證者節點的本地存儲。沒有任何外部的罰沒保護機制在運行。具體情形尚待確認……在1024名驗證者中,至少有800名驗證者已經或即將遭到罰沒。
10:37AM:多名用戶報告稱無法同步區塊鏈。目前的問題是,網絡中有太多節點在同一時間進行同步。Alpha22版本被推遲,需要等待進一步通知。
10:46AM:Prylabs團隊認為現在最好的辦法就是等待。用戶應該運行alpha20版本或最新的docker鏡像。
2020/08/16
2:12AM:正在對同步難的問題進行調查。
11:36AM:Nishant和Victor發布初始同步修復程序。參見PullRequest7012。
2020/8/17
1:51AM:合并拉取7012號PR。一些用戶報告說同步成功。PrysmaticLabs開始將7012部署到出塊節點上。
5:15AM:從commit0be1957c2897909b943b80fdd028f5346ae6cde6開始開發Alpha.22版本
5:33AM:Alpha22版本發布。鏈接:https://github.com/
5:40AM:通過Discord頻道宣布Alpha22版本上線。Prysmatic的值班團隊繼續監控同步情況,以便進行優化。與此同時,越來越多用戶同步至最新區塊。
12:53AM:Alpha23版本上線,已在Discord頻道宣布該消息。Alpha23版本包含一些同步修復程序,有望解決Medalla測試網的問題。建議用戶在運行時開啟“--dev”標記,以便獲得更好的體驗。
原文鏈接:?https://hackmd.io/@benjaminion/eth2_news/https%3A%2F%2Fhackmd.io%2F%40benjaminion%2Fwnie2_200817
注:原文作者是以太坊聯合創始人VitalikButerin。區塊鏈最強大的特性之一,就是可獨立驗證區塊鏈執行的每個部分.
1900/1/1 0:00:00中國工程院院士倪光南說,僅“十四五”期間,新基建能夠直接、間接帶動的投資規模就高達30萬億元。面對數十萬億級市場,礦業如何抓住這一時代機遇?8月22日,在“2020全球區塊鏈算力大會暨新基建礦業.
1900/1/1 0:00:00互聯網發展到今天,產生了巨大的數據量。數據顯示,到2020年底,數據量將是太空中可觀測到的恒星的40倍。海量數據的背后,是千億美元的存儲市場.
1900/1/1 0:00:00概述 Galaxy在2020年第二季度的綜合收入為3800萬美元,而在2019年第二季度為1.13億美元。該公司表示,其場外交易業務的交易量有所上升,交易量為10億美元.
1900/1/1 0:00:00轉自:加密谷Live 作者:RossBulat 翻譯:子銘 UniswapV2是鏈上交易所的下一個迭代產品.
1900/1/1 0:00:00以太坊的擁躉者松了一口氣。作為加密貨幣市場第二大幣種,以太坊年初以來漲超200%,流通市值占整個加密貨幣市場約12%,與第三名XRP拉開距離——加密貨幣世界里的老大比特幣年內漲幅也不過近60%.
1900/1/1 0:00:00