這篇文章內容涵蓋 Kintsugi 事件的全面總結、它的后果,還有在主網合并前的具體行動計劃。
概要
合并測試網 Kintsugi 在幾個客戶端上發生了問題。一個 fuzzer 創建了一個無效區塊,但客戶端 Nethermind 和 Besu 因為缺少一項檢查而把該區塊視為有效。這個無效區塊導致網絡分成了三部分——一部分包含無效區塊、一部分不包含無效區塊,還有一部分進入了Optimistic Sync 模式。盡管修復程序已經部署了,該 fuzzer 又創建了另一個區塊,在客戶端 Geth 觸發了進一步的問題——無法加入正確的分叉。當我們修復了 Geth 的問題,我們就能夠把所有的節點帶回到相同的正確的分叉,區塊鏈重新開始做最終敲定。
總結
合并測試網 Kintsugi 在前幾周的運行中遇到了一系列問題,暴露了多個客戶端的幾個漏洞。問題主要是由開發者 Marius 開發的 fuzzer 引發的,這個 fuzzer 旨在創建有意思的區塊并在網絡里對區塊進行廣播。
一個這樣的區塊的 blockHash (區塊哈希)被替換為它的 parentHash (父塊哈希)。engine_executePayload 具備了所有構建一個區塊和構建該區塊的 blockHash 所需的所有參數。EL (執行層) 客戶端應該根據這些參數來構建區塊,并根據通過的 blockHash 進行驗證。這個特定區塊正確無誤地沒有通過 Geth 的檢查,但通過了 Nethermind 和 Besu 的驗證。該區塊之所以在 Nethermind 被錯誤地通過驗證是因為緩存問題,而 Besu 則完全沒有這項檢查。由此,該區塊被一個 Lighthouse-Besu 節點提議,并導致區塊鏈分叉為兩部分,在執行層與 Nethermind 或 Besu 連接的驗證者在一個分叉上,而月 Geth 連接的驗證者則在另一個分叉上。
IoTeX DAO以97%的票數贊成添加Ether Liquid Staking衍生品:金色財經報道,物聯網區塊鏈平臺IoTeX的治理社區投票支持以太坊衍生品抵押,97% 的代幣持有者支持此舉。約 1.41 億個 IOTX 被質押以支持網絡的第 13 次改進提案 (IIP-13),該提案提高了 IOTX 質押比率,通過擴大驗證者或處理交易和維護區塊鏈的實體的數量來增強網絡安全性。該提案還建議在本地添加支持,將質押桶(staking?buckets)表示為不可替代的代幣(NFT),以便流動性質押協議可以通過智能合約管理其質押。[2023/3/21 13:17:47]
請注意,檢查當前區塊的 blockHash 是合并新增的要求,因此在某些客戶端上會存在缺少或不準確的驗證。
Geth 的一個問題是當執行錯誤的負載時,它返回的是一個 JSON-RPC 錯誤而不是 INVALID (無效),而 Teku 的問題是 (此時已修復但還未部署) 認為那些錯誤在 optimistic sync 模式下是可通過的。因此, Teku-Geth 節點在遇到無效負載時還是進入了 optimistic sync 模式。由于該區塊本身是有效的,已連接的 Geth 節點是從網絡而不是 engineAPI 獲取數據的,因此現在的 Teku-Geth 節點是在無效的分叉鏈上的。由于 Teku 節點還在有很多漏洞的舊版本上, Teku-Geth 節點保持在 optimistic sync 模式,并在區塊鏈停止做最終敲定的期間拒絕提議區塊。我們現在處于這樣的一個情況——共識層客戶端 (lighthouse、prysm、nimbus 和 lodestar) - Geth (占大約 46%) 與共識層客戶端 - Nethermind/Besu (占大約19%) 在不同的分叉上,其他運行 Teku-Geth (大約占35%) 的驗證者則處于 optimistic sync 模式。
Banking Circle宣布將在其支付通道中添加USDC穩定幣:金色財經報道,Banking Circle宣布將在其支付通道中添加USDC穩定幣,用于支付接受、處理和結算,這標志著Banking Circle 進入 web3。該公司表示,它已經收到了對加密貨幣等其他數字資產的需求,但由于它們與法定貨幣的聯系,目前選擇了穩定幣。該公司稱,通過與Coinbase等加密流動性提供商的連接,Banking Circle將充當法定銀行賬戶和穩定幣之間的橋梁,提供比法定交易更快的結算,無需任何代理銀行和網絡費用。[2022/7/8 2:00:45]
在找到和部署了 Nethermind 和 Besu 節點的修復程序后,我們就能夠讓它們重新連上正確的鏈。Teku-Geth 節點的更新導致了另一個與無效內存訪問相關的問題,它由 Geth 上與區塊排序驗證相關的問題引起。這個具體的漏洞也是由 Marius 的 fuzzer 觸發的,這個 fuzzer 產出了一個 parentRoot 是有效且 block_number=1 的區塊。在 Geth 執行一個區塊前,它需要查看它的父塊,看看它們是否需要同步。這樣做的一種方式是在緩存里檢查 parentHash 或在 database 里檢查 parentHash 和 blockNumber。由于 Teku 是同時執行所有分叉里的所有負載,緩存就不再包含 parentHash 。因此,Geth 試圖在它的 database 里通過 parentHash 和 blockNumber 查找其父塊。然而,database 并沒有這個 blockNumber 的哈希 (這個區塊是 fuzzer 構建的)。Geth 會推斷,由于它沒有父塊,它需要開啟同步。但是,這樣觸發的同步會試圖同步比權威鏈更短的的鏈,這就違反了 Geth 中的某些條件,這導致 Geth 進程錯誤,節點關閉,導致 Teku-Geth 節點一直處于不健康的狀態。
英國股票交易應用Freetrade聘請Revolut前高管Paul Brooking擔任首席財務官:9月20日消息,根據一份新聞稿,英國股票交易應用Freetrade已聘請Paul Brooking擔任首席財務官。Brooking此前曾在Freetrade的競爭對手Revolut擔任副首席財務官和財務控制主管。Revolut是一家市值330億美元的金融科技公司,提供股票交易和一系列其他金融產品,在加入Revolut之前,Brooking曾在倫敦上市交易平臺IG Group工作。Freetrade的創始人兼首席執行官Adam Dodds表示,Brooking將帶來“在私營和上市公司擔任高級財務職務的豐富經驗”,他表示,隨著公司向新市場擴張,這些經驗將是“無價的”,而其中一個市場便是加密貨幣交易。今年2月消息,Freetrade正在為一款新的加密貨幣產品招聘一名產品經理。而Revolut的核心業務是一個活期賬戶產品,自2017年以來一直向客戶提供加密交易工具。(The Block)[2021/9/20 23:38:37]
在上述問題的調試中,Geth 團隊還在合并的代碼庫里發現了一個觸發錯誤的競爭條件。此外,我們還遇到其他問題——Nimbus 出現與執行層重新連接相關的錯誤,Lodestar 降低拒絕出塊的對等點分數。
KingData監控:灰度ETH基金減持645.44枚以太坊:據KingData數據顯示,灰度ETH基金減持645.44枚以太坊,基金持倉總規模變為314.09萬枚ETH。(注:灰度暫未開放贖回,小幅減持或因每股含幣量微調、扣減管理費所致。)[2021/8/31 22:48:01]
客戶端推出了所有的修復,且讓所有節點都進行升級。當所有的修復都生效時,區塊鏈會有很多小分叉,每個的參與率都很低。對一些節點進行重新同步可以減少一些分叉。一旦有足夠多的節點完成重新同步,我們會看到有越來越多的節點通過重組回到這個分叉上,這使我們能跨過最終確定性所需的 66% 的閾值。
FAQ
Q: 這個測試網死了嗎?
A: 沒有。在我們部署修復程序并重新同步一些停滯的節點后,鏈最終又開始做最終敲定了。當鏈恢復最終敲定,它就可以如常運行。目前,Kintsugi 的參與率是大約 99%,這表明所有客戶端的漏洞已經得到修補,且網絡也運行良好。交易和智能合約交互繼續如常運作。
Q: 為什么這條鏈這么長時間不做最終敲定?
KingData監控:灰度ETC基金累計持倉1228.4萬:據KingData數據顯示,灰度 ETC 基金減持 1009.65 枚以太坊經典,基金持倉總規模變為 1228.44萬 枚 ETC。(注:灰度暫未開放贖回,小幅減持或因每股含幣量微調、扣減管理費所致)。更多數據或KingData下載見原文鏈接。[2021/2/18 17:26:39]
A: 雖然我們很早就找到了根本原因,我們想要讓鏈保持非最終敲定狀態,讓客戶端團隊調試他們的代碼。此外,我們想要收集非最終敲定期間的客戶端表現數據。
Q: 在分叉鏈上的驗證者會被罰沒嗎?
A: 不會。每個驗證者都包含一個 slashing protection (罰沒保護) database,確保驗證者不會對可罰沒的信息簽名。在“錯誤”分叉的驗證者只會被視為在“正確”分叉上處于 inactive 狀態。一旦它們重組到“正確”分叉上,罰沒 database 會阻止它們對可罰沒信息簽名。
Q: 這會如何影響主網發布?會有新的延遲嗎?
A: 我們認為這件事不會影響主網發布計劃。在規范本身上沒有發現嚴重的問題。測試網的目的是發現漏洞,我們認為 Kintsugi 在發現客戶端實現的邊緣情況方面表現很好。這事件是對多個客戶端組合的一次很好的壓力測試。我們有一個公開的清單,它將指引我們何時準備好在主網實現合并。
Q: 這會如何影響測試計劃?
A: 我們將研究創建幾個強制處于非最終敲定狀態的測試網。對這些非最終敲定的測試網進行持續測試使我們可以觸發更多邊緣情況,和改進工具。在這次事故中發現的漏洞將被添加為靜態測試用例,以確保我們會通過回歸測試。
對驗證者、基礎設施提供商和工具開發者的重要啟示:
測試網上的非最終敲定時期加強了最糟糕情況硬件要求的一些假設。在非最終敲定期,驗證者應該預期:
由于需要對多個分叉選擇規則進行評估,CPU 負載會增加 (有時達到 100%)
在非最終敲定期由于不會有修剪,硬盤使用量會增加
RAM 使用量會有邊際增長
這意味著,在同一臺機器上運行的任何額外工具或監測都會遇到資源爭用問題。Kintsugi 測試網的工具 (區塊瀏覽器、水龍頭、RPC) 在具有 3 個節點的 Kubernetes 集群上運行。這個集群還運行多個工具使用的信標節點。由于信標節點使用的資源比預置的要多得多,因此我們的工具經常由于資源不足而以降級的方式運行。對于基礎設施提供商來說,謹慎的做法是在不同的機器上運行它們的共識層和執行層,或有嚴格的資源使用定義。
合并意味著每個共識層客戶端都需要運行自己的執行層客戶端。(主網上的) 執行層客戶端現在需要很大的磁盤容量。在非最終敲定期間,CL 的磁盤使用量也會激增,這會由于磁盤空間不足而導致崩潰。所有驗證者應該確保他們有足夠大的緩沖磁盤空間來應對這種問題。
依賴于最終確定性的工具開發者應該為非最終敲定時期多做考慮。一種可能的方式是顯示 optimistic 信息,同時傳達該信息在用戶界面是會變化的。
來源 | notes.ethereum.org
作者 | parithosh
點擊“閱讀原文”獲取文章內部鏈接!
原文鏈接:https://notes.ethereum.org/@ExXcnR0-SJGthjz1dwkA1A/BkkdHWXTY
Tags:ETHKINGETGETHETHBN幣King Moneytogetherbnb游戲攻略2023togetherbnb全部攻略
一、Web 3.0:將用戶的內容產出轉變為數字資產眾所周知,從歷史的經驗來看,科技的發展始終存在著“概念先行”的特征——即先有新科技的概念,之后才會有緊隨而上的落地應用.
1900/1/1 0:00:00一、導語 從2008年開始,區塊鏈技術走到今天已經整整經過了十四年的時間。在這十四年里,區塊鏈的應用從單純的數字資產擴展到基于分布式架構的游戲、收藏品,再到信息存儲、內容檢索、貸款服務等等,可謂.
1900/1/1 0:00:00暴走時評:“顛覆金融行業的改革”是加密貨幣的主要自我營銷敘事之一,但該行業在獲得傳統金融業的認可之前,還需要具備一些基本要素.
1900/1/1 0:00:00這段時間,大概每個人都感受到了元宇宙迎面而來的沖擊波。這個充滿未來感的名詞,從科幻世界一路殺進現實世界,到2021年破圈,成為科技界、投資界和傳媒界的寵兒,各行各業都紛紛入局這一場數字化盛會.
1900/1/1 0:00:00頭條 ▌緬甸軍政府計劃推出數字貨幣金色財經報道,緬甸軍政府正計劃推出自己的數字貨幣。信息部副部長Zaw Min Tun少將表示,該數字貨幣旨在支持國內支付,并促進該國經濟發展.
1900/1/1 0:00:00接《比特幣未來走向的指標框架》,筆者繼續從宏觀環境的角度出發,結合當前幣圈關注的美聯儲加息話題進行分析.
1900/1/1 0:00:00