全方位解析波卡與以太坊 2.0 之間的不同之處。

封面: Polkadot

“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰,然而我們希望通過這樣的努力讓大家能夠正確認知波卡,也讓不了解波卡的人方便快速掌握波卡相關知識,今天是該欄目的第 41 期,為大家全方位介紹波卡與以太坊 2.0 所具備的特點都有哪些。

自 2016 年波卡白皮書正式發布,經歷了幾年低調的測試與開發,波卡的核心功能開發以及生態發展都取得了顯著的進展,平行鏈插槽 Auction 也成為了常態化。

而 2014 年問世的以太坊,可以說是公鏈的龍頭代表,在 8 年的發展歷程中,以太坊正在發生快速的變化。

目前以太坊正在致力於完成以太坊 2.0 的升級,在上個月中用一周的時間就做好了升級準備,而以太坊也將從工作量證明(PoW)共識機製過渡到權益證明(PoS)。

一直以來公鏈的競爭常常受到諸多關注,在過去,由於 Gavin 博士曾是以太坊的聯合創始人,後來又創建了波卡,因此波卡與以太坊被看作是彼此強勁的對手。

那麼目前的波卡與以太坊 2.0 分別有怎樣的特點呢?

波卡和 Ethereum 2.0 都是分片區塊鏈協議。因此,它們通過在單獨的分片中執行事務和提供在分片之間發送消息的協議來提供可擴展性。

模型

以太坊 2.0 中的分片都具有相同的狀態轉換函數(STF),就像管理區塊鏈如何隨每個塊改變狀態的規則一樣。

這個 STF 為智能合約的執行提供了一個接口。合約存在於單個分片上,並且可以在分片之間發送異步消息。

同樣,在波卡中,每個分片都承載核心邏輯,分片並行執行,波卡可以發送跨分片異步消息。

但是,每個波卡分片(即平行鏈)都有一個獨特的 STF。應用程序既可以存在於單個分片中,也可以通過組合邏輯存在於多個分片中。

波卡使用 WebAssembly(Wasm)作為 “元協議”。只要波卡上的驗證者可以在 Wasm 環境中執行,分片的 STF 就可以是抽象的。波卡將通過平行鏈支持智能合約。

從某種角度來看,在以太坊上,智能合約可以在同一個分片中同步調用對方,也可以在分片之間異步調用對方。

在波卡上,智能合約將能夠在同一個平行鏈中同步調用對方,並在平行鏈之間異步調用對方。

架構

以太坊 2.0

以太坊 2.0 的主鏈稱為 Beacon Chain(信標鏈)。信標鏈上的主要負載是證明,即對分片數據可用性和信標鏈有效性的投票。

以太坊 2.0 中的每個分片只是一個帶有以太坊 Wasm (eWasm) 接口的區塊鏈。

以太坊 2.0 於 2020 年 12 月啟動了多階段部署的第 0 階段,與傳統的以太坊 1.0 鏈並行運行:

階段 0 提供了信標鏈,接受驗證者的存款並實現了權益證明共識,最終在許多分片之間實現。

第一階段以簡單鏈的形式啟動 64 個分片,以測試信標鏈的最終確定性。每個分片向信標鏈提交 “交聯(crosslink)”,信標鏈包含最終確定分片數據的信息。

階段 1.5 將 Eth 1 集成為一個分片,最終完成工作量證明鏈的塊。

階段 2 實現 eWasm 接口,逐步淘汰工作量證明,最終使系統對最終用戶。

在階段 0 啟動信標鏈後,路線圖發生了變化,優先考慮將傳統的以太坊 1.0 鏈從工作量證明過渡到以太坊 2.0 的權益證明共識,然後在網絡上推出分片。

該網絡還將有 “側鏈”,與不屬於以太坊 2.0 最終協議的鏈進行交互。

Polkadot

與以太坊 2.0 一樣,Polkadot 也有一條主鏈,稱為中繼鏈,帶有多個分片,稱為平行鏈。平行鏈並不局限於像 eWasm 這樣的單一接口。

相反,他們可以定義自己的邏輯和接口,只要他們向中繼鏈驗證器提供 STF,以便執行它。

Polkadot 現在以中繼鏈的形式存在,只計劃推出每個區塊驗證 20 個分片的能力,逐漸擴展到每個塊 100 個分片。

除了計劃在每個區塊執行的平行鏈之外,Polkadot 還有計劃在動態基礎上執行的平行線程。

這允許各條鏈共享分片的插槽,就像多家小型航空公司能在機場共享一個登機口一樣。

為了與想要使用自己的最終確定過程(例如比特幣)的鏈進行交互,波卡具有提供雙向兼容性的橋鏈。

共識

以太坊 2.0 和波卡都使用混合共識模型,其中區塊生產和最終確定性都有自己的協議。

最終性協議——以太坊 2.0 的 Casper FFG 和波卡的 GRANDPA——都是基於 GHOST 的,並且都可以在一輪中完成批量的塊。

對於區塊生產,兩種協議都使用基於插槽的協議,隨機分配驗證者到插槽,並為未最終確定的區塊提供分叉選擇規則——以太坊 2.0 的 RandDAO/LMD 和波卡的 BABE。

以太坊 2.0 和波卡共識有兩個主要區別:

以太坊 2.0 根據被稱為 “epoch” 的時間週期完成批量塊。目前的計劃是每個 epoch 有 32 個區塊,並在一輪中完成所有區塊。由於預計出塊時間為 12 秒,這意味著預計完成時間為 6 分鐘(最長 12 分鐘)。

波卡的終結性協議 GRANDPA 根據可用性和有效性檢查來最終確定一批塊,這些檢查是隨著提議鏈的增長而發生的。

最終確定的時間因需要執行的檢查數量而異(無效報告導致協議需要額外的檢查)。預計完成時間為 12-60 秒。

以太坊 2.0 要求每個分片有大量驗證者來提供強大的有效性保證。波卡可以通過每個分片使用更少的驗證者來提供更強的保證。

波卡通過讓驗證者向系統中的所有驗證者分發擦除代碼來實現這一點,這樣任何人——不僅是分片的驗證者——都可以重構平行鏈的塊並測試其有效性。

隨機選擇的驗證者分配和由隨機選擇的驗證者執行的二次檢查使得每個平行鏈上的小組驗證者不可能相互勾結。

Staking 機制

以太坊 2.0 是一個權益證明網絡,每個驗證者實例需要 32 個 ETH 進行權益證明。驗證者運行一個主信標鏈節點和多個驗證者客戶端——每 32 個 ETH 對應一個驗證者。

這些驗證者被分配到 “委員會” 中,它們是隨機選擇的組,用於驗證網絡中的分片。

以太坊 2.0 依賴於大型驗證者池來提供可用性和有效性保證:每個分片至少需要 111 個驗證者來運行網絡,每個分片需要 256 個驗證者在一個 epoch 內完成所有分片。對於 64 個分片,即 16384 個驗證者(每個分片有 256 個驗證者)。

波卡可以用更少的驗證者提供強大的確定性和可用性保證。波卡使用提名權益證明(NPoS)從較小的集合中選擇驗證者,讓較小的持有者提名驗證者來運行基礎設施,同時還能獲得系統的獎勵,而無需運行自己的節點。

波卡計劃在其第一年運營結束時擁有 1000 個驗證者,並且網絡中每個平行鏈需要大約 10 個驗證者。

分片

以太坊 2.0 中的每個分片都具有相同的 STF。每個分片將提交 “交聯” 到信標鏈,並實現一個 eWasm 執行環境。

EWasm 是 Wasm 用於以太坊合約的一個受限子集。eWasm 接口提供了一種可用於合約的方法。應該有一套類似的開發工具,比如 Truffle 和 Ganache 來為 eWasm 開發。

波卡中的每個分片都有一個基於 Wasm 的抽象 STF。每個分片都可以公開一個自定義接口,只要邏輯編譯為 Wasm 並且分片為波卡驗證者提供 “執行塊” 函數。

波卡擁有 Substrate 開發框架,該框架允許使用一套模塊進行全譜可配置、組合和擴展這些模塊來開發鏈的 STF。

消息傳遞

以太坊 2.0 中的分片可以通過它們的交聯和狀態證明訪問彼此的狀態。

在有 64 個分片的以太坊 2.0 模型中,每個分片在信標鏈中為每個區塊發布一個交聯,這意味著分片可以包含基於另一個分片上的一些輕客戶端交易證明執行的邏輯。以太坊 2.0 尚未發布節點在分片之間傳遞消息的規範。

波卡使用跨共識消息傳遞格式(XCM)讓平行鏈相互發送任意消息。平行鏈彼此打開連接,並可以通過其已建立的通道發送消息。

鑑於收集者也需要成為中繼鏈的完整節點,他們將被連接並能夠將消息從平行鏈 A 中繼到平行鏈 B。

消息不通過中繼鏈傳遞,只有發帖和通道操作的證明(打開、關閉等)進入中繼鏈。這通過將數據保留在系統邊緣來增強可擴展性。

波卡將添加一個名為 SPREE 的協議,該協議為跨鏈消息提供共享邏輯。通過 SPREE 發送的消息攜帶了關於來源和接收鏈解釋的額外保證。

治理

以太坊 2.0 治理仍未解決。以太坊目前使用 GitHub 討論、所有核心開發者調用和 Ethereum Magicians 等鏈下治理程序來決定協議。

波卡使用鏈上治理和多機構系統。有多種途徑可以發布提案,例如鍊上理事會、技術委員會或公眾。所有提案最終都會通過公投,其中大多數通證始終可以控制結果。

對於低投票率的公投,波卡使用自適應法定人數偏差來設置通過門檻。全民公投可以涵蓋各種主題,包括從鏈上國庫的資金分配或修改鏈的底層 Runtime 代碼。

決策在鏈上製定,具有約束力和自主性。

升級

以太坊 2.0 的升級將遵循正常的硬分叉過程,要求驗證者升級其節點以實施協議更改。

使用 Wasm 元協議,波卡可以在沒有硬分叉的情況下制定鏈升級和成功的提案。STF、交易隊列或鏈下工作機中的任何內容都可以在不分叉鏈的情況下進行升級。

結論

以太坊 2.0 和波卡都使用分片模型,其中分片鏈(以太坊 2.0 中的 “分片” 和波卡中的 “平行鏈/平行線程”)由主鏈保護。通過將分片狀態連接到主鏈的區塊中。這兩個協議在幾個主要領域有所不同。

首先,以太坊 2.0 中的所有分片都具有相同的 STF,而 Polkadot 讓分片具有抽象的 STF。

其次,以太坊 2.0 中的治理過程計劃在鏈下進行,因此需要協調硬分叉來製定治理決策,而在波卡中,決策是在鏈上並自主制定的。

第三,驗證者選擇機制不同,因為波卡可以通過每個分片較少數量的驗證者來提供強大的可用性和有效性保證。

(本文摘自:波卡官方 Wiki,成文時間為 2021 年 10 月 23 日)

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。