買比特幣 買比特幣
Ctrl+D 買比特幣
ads

KIN:Kintsugi 事件報告_GET

Author:

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

這篇文章內容涵蓋 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 連接的驗證者則在另一個分叉上。

KingData監控:灰度ZEN基金減持42.43枚ZEN:據KingData數據顯示,灰度ZEN基金減持42.43枚ZEN,基金持倉總規模變為61.94萬枚ZEN。(注:灰度暫未開放贖回,小幅減持或因每股含幣量微調、扣減管理費所致。)[2021/9/17 23:30:50]

請注意,檢查當前區塊的 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 模式。

Staking 協議 ClayStack完成 520 萬美元的種子輪融資:Staking 協議 ClayStack完成 520 萬美元的種子輪融資,使其有望在今年晚些時候推出新的 Staking 功能。種子輪由 CoinFund 和 ParaFi Capital 共同牽頭,Coinbase Ventures、Solana Foundation、Hashed 和 Spartan Group等參投。(cointelegraph)[2021/7/13 0:49:17]

在找到和部署了 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 節點一直處于不健康的狀態。

聲音 | 騰訊安全:2019年最活躍的挖礦木馬為WannaMiner、MyKings、DTLMiner:騰訊安全今日發布“2019年度挖礦木馬報告”。報告指出,2019年挖礦木馬最活躍的三個家族分別為WannaMiner、MyKings、DTLMiner(永恒之藍下載器木馬)。其中MyKings是老牌的僵尸網絡家族,而WannaMiner和DTLMiner分別在2018年初和年底出現。在2019年這幾個家族都有超過2萬用戶的感染量,他們的共同特點為利用“永恒之藍”漏洞進行蠕蟲式傳播,使用多種類的持久化攻擊技術,難以被徹底清除。2019年挖礦木馬主要入侵方式前三名分別是漏洞攻擊、弱口令爆破和借助僵尸網絡。由于挖礦木馬需要獲取更多的計算資源,所以利用普遍存在的漏洞和弱口令,或者是控制大量機器的僵尸網絡進行大規模傳播成為挖礦木馬的首選。[2020/2/17]

在上述問題的調試中,Geth 團隊還在合并的代碼庫里發現了一個觸發錯誤的競爭條件。此外,我們還遇到其他問題——Nimbus 出現與執行層重新連接相關的錯誤,Lodestar 降低拒絕出塊的對等點分數。

聲音 | Max Raskin:加密貨幣的存在對政府財政和監管政策產生了健康的影響:據Cointelegraph消息,紐約大學法學院Max Raskin近日發表論文指出。類似比特幣的去中心加密貨幣的存在對政府的財政和監管政策產生了健康的影響。首先,公民通過加密貨幣的存在獲得福利收益,因為它們提供多樣化選擇;此外,私人數字貨幣作為地方投資的競爭,可以通過抑制貨幣政策從而產生較低的通貨膨脹。其次,作者認為加密貨幣鼓勵本地投資,并作為該投資的補充,而不是替代。在提供替代當地法令的過程中,他們會對貨幣政策進行約束,再次降低通貨膨脹率從而帶來更高的投資回報,從而增加整體投資。最后,政府本身通過允許在當地經濟中使用加密貨幣獲益,因為它通過稅收獲取收入,從而從更高水平的當地投資中獲益。[2019/8/19]

客戶端推出了所有的修復,且讓所有節點都進行升級。當所有的修復都生效時,區塊鏈會有很多小分叉,每個的參與率都很低。對一些節點進行重新同步可以減少一些分叉。一旦有足夠多的節點完成重新同步,我們會看到有越來越多的節點通過重組回到這個分叉上,這使我們能跨過最終確定性所需的 66% 的閾值。

聲音 | Beth Kindig:最好的區塊鏈應用程序不會與面部識別、社交媒體數據等數據相關聯:InterTrust產品宣傳負責人Beth Kindig稱,本地移動應用程序泄露數據的問題很普遍。整個應用生態系統都需要徹底改革。分布式應用程序是朝著正確的方向前進;然而如果有一方控制著交易或數據,那么許多不會真正去中心化。去中心化的目的是將交易和數據分發到沒有中央方擁有的地方。因此,在某些情況下,分布式應用程序將是錯誤的稱謂,因為應用程序開發者或發布者可能會保持控制。Facebook的Libra是在去中心化的情況下稱謂不恰當。在這種情況下,加密支付將通過Facebook集中,并且易于跟蹤。在許多方面,這將與加密貨幣的意識形態背道而馳,因為一個人進行的每一筆交易都將被跟蹤,因為協議和代幣的開發者將識別此人。風險在于,如果其他應用程序開發人員采用類似的模式,即使用區塊鏈記錄每一筆交易,同時也通過各種方式驗證身份。面部識別是永久性的,你可以改變社保號碼、電話號碼,甚至名字,但不能改變臉。將其與區塊鏈交易結合起來,可以很容易地想象到反烏托邦級別的監視。最好的區塊鏈應用程序將真正去中心化,不會與面部識別、社交媒體數據、銀行數據(如摩根大通幣)等數據相關聯。[2019/8/19]

FAQ

Q: 這個測試網死了嗎?

A: 沒有。在我們部署修復程序并重新同步一些停滯的節點后,鏈最終又開始做最終敲定了。當鏈恢復最終敲定,它就可以如常運行。目前,Kintsugi 的參與率是大約 99%,這表明所有客戶端的漏洞已經得到修補,且網絡也運行良好。交易和智能合約交互繼續如常運作。

Q: 為什么這條鏈這么長時間不做最終敲定?

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:ETHGETGETHKINeth大學bitGet會被騙嗎togetherbnb為什么恐怖kine幣是哪個國家的

比特幣交易
ALEX:Alex:Ergo在實用性方面領先于RVN、ETC等_LEXIT

在上周五(2月4日)的AMA(互動問答)中,Dan Friedman(Ergo戰略顧問)和Alex Chepurnoy(Ergo聯合創始人兼核心開發者)回答了來自Ergo社區的提問.

1900/1/1 0:00:00
比特幣:胡泳:虛擬世界讓我們時刻在場 但又永遠缺場_元宇宙開發公司

胡泳?北京大學新聞與傳播學院教授騰訊研究院院長司曉在2022年初的科技向善創新周上,提出人與周遭的互動經過三個階段:離線、在線、在場.

1900/1/1 0:00:00
BSP:深度剖析基于NFT的公鏈賽道_FYZNFT價格

1. NFT發展歷程以及產業價值鏈1.1 近期 NFT 發展迅速,交易量大幅上漲、近期 NFT 發展迅速,交易量大幅增長.

1900/1/1 0:00:00
MET:Meta賣掉穩定幣項目Diem 押注元宇宙會是對的方向嗎?_ETA

近日,科技巨頭Meta(原Facebook)公司宣布出售其數字貨幣項目Diem,引起了加密市場和科技圈的關注.

1900/1/1 0:00:00
BAN:Bankless:糟糕NFT項目的13個危險特征_lbank交易平臺哪個國家

親愛的Bankless Nation,當談到優秀的 NFT 項目時,我們將才華橫溢的創造者、創新機制和充滿活力的社區視為重要優勢.

1900/1/1 0:00:00
DAO:晚間必讀5篇 | DAO:為什么治理很重要?_Pawn My NFT

1.金色觀察|盤點與2022北京冬奧會相關的NFT/游戲冬季奧運會呈現的冰雪上的競技歷來令全球體育迷心馳神往。2022年2月,一場舉世矚目的冬季體育盛會在北京拉開帷幕.

1900/1/1 0:00:00
ads