Runtime Verification 最近完成了對 eth2 存款合約(deposit contract)字節碼的審計和形式化驗證 ,這是通向 eth2 階段 0 主網之路上的一個重要里程碑;另外過去一個月的主要工作就是進行優化。本源自於Ethereum Blog 的文章《eth2 quick update no. 8》,由專欄作者 ECN以太坊中文社區 編譯、撰寫及整理。
要點速覽
- Runtime Verification[1]完成對「存款合約(deposit contract)字節碼」的審計和形式化驗證
- 本月關鍵詞:優化(optimization)
- Whiteblock 公佈 gossipsub 測試結果
- 春季活動來襲!會議、黑客馬拉松、賞金任務等你參與!
存款合約的審計和驗證
Runtime Verification 最近完成了對 eth2 存款合約(deposit contract)字節碼的審計和形式化驗證 。這是通向 eth2 階段 0 主網之路上的一個重要里程碑。這項工作已經完成,我希望社區能對此進行反饋。如果在正式規範中發現任何漏洞或錯誤,請在 eth2 規範庫 中發起 issue。
K 框架 [8] 中指定的形式語義明確定義了 EVM 字節碼對應的行爲,並證明這些行爲成立,其中包括輸入驗證、對默克爾樹迭代的更新、日誌等等。這裡是指定內容的(半)高級討論,在這裡進一步瞭解完整的正式 K 規範。
在這裡我要感謝 Daejun Park (Runtime Verification 成員)所付出的努力,以及 Martin Lundfall 和 Carl Beekhuizen 在此過程中提供的許多反饋和評論。
我還是想說,如果形式化驗證是你感興趣或擅長的領域,那麼請不吝提供意見和反饋。
上月關鍵詞:最優化
過去一個月的主要工作就是進行優化。
儘管在目前看來,進行 10 倍優化或 100 倍優化對以太坊社區來說不太切實,但是要抵達終點,這一階段的進展也至關重要。
信標鏈優化的重要性
(要使信標鏈向下兼容,而非提升設備性能)
信標鏈(Beacon Chain)作爲 eth2 的核心,是分片系統不可或缺的組件。要同步分片,無論是單個分片還是多個分片,客戶端都必須同步信標鏈。因此,要在普通計算機設備上運行信標鏈和少量分片,最重要的是,即使在驗證者高參與度(約 30 萬以上驗證者)的情況下,信標鏈的資源消耗也要相對較低。
爲此,過去一個月 eth2 客戶端團隊的主要工作都集中在優化方面,減少了階段 0 (信標鏈)的資源需求。
值得高興的是,我們正在取得顯著的進展。以下概述性內容並不詳盡,但有助於讀者瞭解我們的工作。
10 萬驗證者?Lighthouse:輕而易舉
幾週前,由於出現證明傳播中繼循環問題,導致節點自身出現 DoS 錯誤,Lighthouse 關閉了測試網(約 1.6 萬驗證者)。Sigma Prime 迅速修復了這個漏洞,並且尋求更大更強的測試網,可容納 10 萬驗證者。過去的兩週,他們一直致力於優化工作,以期實現這種規模的測試網。
Lighthouse 測試網的每次改進,目的是確保成千上萬個驗證者可以輕鬆地在小型 VPS 上運行 , 配備 2 個 CPU 和 8 GB RAM。在 10 萬驗證者規模的初始測試中,客戶端一致使用 8 GB RAM,然而經過幾天的優化,Paul 設法將其降低到穩定的 2.5 GB,並且還有進一步降低的計劃。Lighthouse 在狀態哈希方面也取得了很大進步,而 BLS 簽名驗證被證明是 eth2 客戶端中的主要計算瓶頸。
新的 Lighthouse 測試網發佈在即。可以進入他們的 discord 聊天室 瞭解最新進度。
Prysmatic 測試網規模持續擴大,同步速度顯著提升
幾週前,當前運行中的 Prysm 測試網慶祝了其第 10 萬個 slot,驗證者數量超過 2.8 萬個。目前,測試網已經超越了 18 萬個 slot,活躍驗證者數量超 3.5 萬。在維持公共測試網運行的同時,團隊還能進行更新、優化、穩定性提升工作是一件非常了不起的事。
Prysm 目前正在取得許多實質性進展。在過去的幾個月中,我與許多驗證者進行了溝通,據他們的體驗,客戶端一直在顯著進步,其中一個令人興奮的進步是同步速度的提升。
Prysmatic 團隊將其客戶端同步速度從約 0.3 區塊 / 秒優化到了約 20 區塊 / 秒,極大地優化了驗證者用戶體驗,使得驗證者能夠更快地連接並參與到網絡中。
Prysm 測試網的另一個優化是加入了 alethio 的新 eth2 節點監測器,eth2 stats.io。這是一項選擇性服務,以便節點能夠在某個位置彙總統計信息。這將有助於我們更好地瞭解測試網(或將來 eth2 主網)的狀態。
proto_array 備受喜愛
Eth2 核心規範經常有意明確預期的非最佳行爲。可見,優化規範代碼的目的是增強可讀性,而不是提升性能。
規範規定了系統的正確行爲,而算法則是執行指定行爲的過程。多種不同的算法都能一直執行相同的規範。因此 eth2 規範支持各個組件的多種不同實現,因爲客戶端團隊往往會權衡多方因素(例如計算複雜度、內存佔用量及實現複雜度等等)。
分叉選擇(fork choice)就是其中一個例子,此規範用於查找區塊鏈頭。eth2 規範通過一種簡單算法來明確這種行爲,以清楚地顯示運行部分與邊緣情況,例如,當新證明出現時如何更新投票權重,新區塊被最終確定後該做什麼等等。然而,只是直接實現規範的算法將永遠無法滿足 eth2 的生產需求。因此,客戶端團隊必須在維護客戶端運行時思考計算權衡,並且實現更爲複雜的算法以滿足需求。
對於客戶端團隊來說,所幸一年前的文件裏就有所參考。當時,Protolambda 實現了一系列不同的分叉選擇算法,並列出了每種算法的優勢與權衡取捨。最近,Sigma Prime 的 Paul 發現了 Lighthouse 分叉選擇算法中的一個重大瓶頸,於是就去尋找對策。最後,他在 Protolambda 的成果中發現了proto_array算法。
雖然爲了移植proto_array以適應最新規範耗費了一些精力,但集成之後,proto_array便被證實能夠使「運行時間縮短幾個數量級,數據庫讀取也大大減少」。自首次集成到 Lighthouse 之後,proto_array 很快也被 Prysmatic 應用到其最新版本中。與其他算法相比,這種算法具備更加明顯的優勢,proto_array 也就迅速成爲大家的寵兒。我非常希望未來會有更多其他團隊應用起來!
階段 2 研究進行時-Quilt、eWASM、TXRX 團隊
階段 2 會將狀態和執行添加進分片後的 eth2 中。儘管階段 2 的一些核心原則是相對確定的(例如分片之間通過交聯與默克爾證明進行通信),但階段 2 的設計仍然保持一定的開放性。在過去的一年裏,Quilt (ConsenSys 研究團隊)和 eWASM (以太坊基金會研究團隊)[18] 一直在致力於階段 2 研究工作,以期在這個開放的設計領域進行探索,與階段 0 和階段 1 的規範和構建工作並行。
爲此,最近將舉辦大量的公開電話會議來進行討論,ethresear.ch 上也發佈了相關的貼文。現在有一些不錯的資源能夠提供認知幫助,以下僅選取部分:
- 狀態提供者模式的概述
- 有關狀態提供者的問題
- 在分片之間轉移 ETH:問題陳述
- 跨分片轉移的路線圖(及 Vitalik 關於 ETH 元執行環境文章解析)
- 階段 1 分片數據費用市場的相關討論
除了 Quilt 與 eWASM 團隊外,新加入的 TXRX[24](ConsenSys 研究團隊)也將部分精力投入到階段 2 研究中,該團隊最初的工作重點是增進對跨分片交易複雜性的理解,研究將 eth1 集成到 eth2 的可能途徑,並對這些途徑進行原型化。
階段 2 的所有研發領域都是相對新穎的,因此是深入研究並取得成果的好時機。在今年內,將有更多具體的規範面世,也爲開發者提供施展拳腳的空間。
Whiteblock 發佈 libp2p gossipsub 測試結果
本週,Whiteblock 發佈了 libp2p gossipsub 測試結果,這是 ConsenSys 和以太坊基金會共同資助下的結晶。這項工作旨在驗證用於 eth2 的 gossipsub 算法,併爲性能邊界提供參考,以輔助後續的測試與算法強化工作。
概括來說,這一系列測試的結果看起來是可靠的,但還需要進一步測試以更好地觀察消息傳播如何隨網絡規模而變化。此處參見完整報告,其中詳細介紹了他們採用的方法、拓撲結構、實驗和結果!
百花齊放的春天!
今年春季迎來了許多激動人心的會議、黑客馬拉松,eth2 賞金等等活動!每一場活動中都會有一組 eth2 研究者和工程師出席。趕快來感受思維的碰撞吧!我們很期待與大家交流,包括工作進度、測試網驗證工作、2020 值得期待的事等等大家可能感興趣的話題。
以下列出了其中一些與 eth2 相關的活動:
*ETHDenver:美國丹佛,2 月 14 至 16 日,準備了 Eth2 專項賞金!
*Stanford Blockchain Conference:美國史丹佛,2 月 19 至 21 日
*Eth 222:美國史丹佛,2 月 22 日
*ETHLondonUK:英國倫敦,2 月 28 日至 3 月 1 日
*ETHCC:法國巴黎,3 月 3 至 5 日
*EDCON:奧地利維也納, 4 月 3 至 7 日
*Ethereal Summit[35]:美國紐約, 5 月 8 至 9 日
*ETHNewYork[36]:美國紐約,日期待定
???
?相關報導?
以太坊的價格簡史:浮浮沉沉的啟示錄 — 從 0.3 美元眾籌開始的瘋狂故事
錯過了減半,是時候關注「以太坊」了!五大指標看 Ethereum 五年來的發展脈絡
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!