隨著信標鏈臨近發布, Eth2 也越來越接近定局,現在是時候與社群快速同步最新 Eth2 的內部運作方式以及成為驗證者的具體要求、激勵機制以及體驗了。本文會概要講述 Eth2 的背景知識,本文僅作為基礎開篇。本文源自於以太坊基因會部落格 Carl Beekhuizen 之文章 《Validated: Staking on eth2 #0》,由ECN以太坊中國編譯、撰寫,以太坊愛好者整理。
迄今為止 Eth2 的開發工作已進行了很長一段時間,在這幾年中也取得了巨大進展。最初,由智能合約管理的分片技術和權益證明( PoS )機制是獨立的設計,而如今它們已實現高度互聯,在效率、可擴展性和安全性方面得到了顯著改善。
延伸閱讀:以太坊 1.0 和 2.0 有什麼區別?關於 Ethereum 2.0 的 「17 個常見問題」
Eth2 的各個階段
隨著 Eth2 組成部分之間的聯繫變得越來越緊密,其他部分也被劃分為多個階段,以便更好地梳理 Eth2 不同部分的內容。在撰寫本文時,隨著客戶端軟體開發工作進入最後收尾階段,階段 0 即將啟動。同時,階段 1 的規範已經制定完成,階段 2 的規範正在積極研發中。
-
階段 0 的內容是信標鏈,而信標鏈是 Eth2 的核心,能夠管理驗證者並且協調分片鏈。信標鏈作為實踐基礎,引導著 Eth2 其他所有方面的發展。 -
階段 1 的實現以階段 0 為基礎,主要內容是將數據寫入分片鏈。由於階段 0 為分片鏈奠定了大部分基礎工作,階段 1 實現的複雜程度比其他組件要低得多。 -
階段 2是 Eth2 的執行階段,基本來說就是將 Eth2 從強大的數據庫升級成為完全去中心化的計算平台。
階段 0 究竟是什麼?
如前所述,信標鏈能夠跟蹤驗證者集和分片鏈的狀態。在實踐中,這意味著只要(定期)跟蹤信標鏈上的動態,用戶就能獲得足夠的訊息以驗證 Eth2 中發生的任何事情。既信任,也驗證。
為了使 PoS 系統正常運行,需要就驗證者是哪些以及每個驗證者的質押情況達成共識,這樣才能知道他們的投票權重有多大,並根據他們的行為進行適當的獎懲。信標鏈也會管理 Eth2 的分片鏈,具體體現為在分片中分配驗證者職責以及跟蹤每個分片的當前狀態。
Eth2 與其他 PoS 系統的部分區別在於參與協議的驗證者絕對數量不同。其他 PoS 系統中的驗證者數量可能為數十個、數百個或者數千個,而 Eth2 的驗證者將以數十萬甚至數百萬計。這種程度的去中心化之所以成為可能,得益於系統使用驗證者小組(即委員會)來達成中間共識。信標鏈根據一定的隨機性來將驗證者分配到委員會中,委員會負責評估某些部分是否屬於信標鏈和分片鏈。然後,每個委員會的投票將經由及密碼學技術聚合成一個見證消息(attestation),而這意味著驗證整個委員會的所有投票不會比驗證單個投票麻煩許多。因此,要檢查信標鏈的有效性,只需要部分聚合簽名就可以評估大多數驗證者的投票。
信標鏈也會跟蹤 Eth1 鏈和其中的押金,如此一來新的驗證者就可以通過將 32 個 eth 發送到部署在 Eth1 鏈上的保證金合約(deposit contract)來加入 Eth2 系統。通過使信標鏈對 Eth1 鏈進行投票驗證,在將來 Eth2 就可以為 Eth1 規範鏈(最長鏈)上的區塊提供經濟保證,從而增強 Eth1 鏈的安全性。
延伸閱讀:新手科普|白話解讀即將到來 Ethereum 2.0,以太坊區塊鏈的革命性升級
節點和客戶端
Eth2 區分了信標節點和驗證者客戶端,驗證者需要這兩者才能履行其職責。信標節點(即節點)負責維護整個信標鏈以及用戶或驗證者可能需要使用的任意分片。
顧名思義,驗證者客戶端(即客戶端)負責處理的是單個驗證者的邏輯。具體實現體現為通過與信標節點進行通訊以了解信標鏈的當前狀態,適時見證及提議區塊,最後請求信標節點將區塊訊息發送給其他節點。
注:如果沒有運行驗證者客戶端,那麼信標節點包含所有與 Eth2 進行去信任交互所需的所有訊息,這類似於 Eth1 中的全節點。
以下摘取了一些區分信標節點和驗證者客戶端的原因:
-
要成為驗證者,首先需要抵押 32 個 eth,因此想要質押更多數量 eth 的用戶就需要運行多個驗證者實例。將節點和客戶端區分開使得這些用戶可以在僅運行一個信標節點的情況下連接多個驗證者客戶端,從而減少了計算、內存和存儲需求。 -
獨立開來的驗證者模塊更容易編寫、推理並審計,因此其安全性可能會更高。 -
對於擔心出現冗餘的用戶來說,並行運行多個節點,降低了驗證者離線的機率。 -
由於驗證者客戶端只能通過信標節點與 Eth2 網路的其他部分進行交互,甚至到時還需要通過一個受限的 API,這樣大大縮小了驗證者節點的受攻擊面。 -
如果希望與 Eth2 進行交互但又不想成為驗證者,用戶只需運行一個信標節點,這將授予他們訪問信標鏈和分片的權限。
設計理念
Eth2 的設計理念為 Eth2 內的所有決策提供了有用的參照,並且在許多實例中封裝了 Eth2 與其他協議之間的差異。
-
協議最重要:認識到一切都需要進行權衡,因此協議的安全性和活性優先於其他設計需求。 -
抱最大希望,做最壞打算: Eth2 假設驗證者怠惰、收受賄賂、攻擊系統的情況,除非採取措施對驗證者進行激勵。此外,還假定網路不完全可靠,並且災難性事件的發生可能會迫使大量驗證者離線。基於這些假設, Eth2 應該要做到有備無患,具備在第三次世界大戰中倖存下來的能力。 -
可見複雜性最小化:在任何可能簡化的地方簡化,以便 Eth2 易於推理、易於解釋、易於審計、易於編寫出無漏洞的客戶端,並在整體上規避例外情形。 -
最大程度去中心化: PoS 協議普遍容易在驗證者數量這一點上作出妥協,而 Eth2 的設計理念就是要將驗證者的規模拓展至數百萬,同時鼓勵這些驗證者獨立於彼此履行職責。 -
預見意外: Eth2 上的所有組件都是抗量子計算的、或是能夠在量子災難發生時被替換為抗量子計算的組件。 -
民治民享: Eth2 必須要能夠在筆記本電腦上運行。參與的門檻越低,參與者就越多,而這也意味著更高的去中心化程度。
結語
相信看到這裡,大家已經對 Eth2 有了一些基本了解,在本系列的後續文章中,我們會為大家解讀更多 Eth2 得以持續運作的細節,敬請關注。
📍相關報導📍
【新手科普】快速認識以太坊網路的治理全景
以太坊|ETH2.0 將創造經濟轉變的七個理由
ETHFANS 專欄|什麼是以太坊 2.0 測試網?如何參與獲得測試幣?
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務