以太坊2.0 的升級一直備受關注,以太坊計劃在2022 年第二季度由工作量證明(PoW)轉向權益證明(PoS),最近對升級路線也做出了調整。
一些言論認為,以太坊成功升級至2.0 後將完全解決以太坊的現存問題,屆時Polkadot 將再無翻身機會。那麼事實是這樣的嗎?
以太坊2.0 和Polkadot 確實有一些相似性,如都採用了分片技術,都採用了PoS 共識,都隨機分配驗證人等等。本文將結合以太坊最新的升級路線圖,比較以太坊2.0 和Polkadot 的異同,和各自的開發進度。
“注:從去年年底開始,以太坊基金會表示將停止使用“以太坊2.0” 這個術語,轉而以“共識層” 和“執行層” 分別表示以太坊2.0 和現有的以太坊主網。但為了方便大家理解,在本文中我們仍然沿用“以太坊2.0” 這個稱呼。
1、設計目標
在開始具體的對比之前,我們先來了解以太坊和Polkadot 的設計目標,這可能也是兩者最大的區別。
以太坊旨在成為智能合約執行的平台。以太坊的創新性毋庸置疑,它開創了應用型區塊鏈這個新賽道。但以太坊的局限也很快凸顯了出來——網絡擁堵、節點運營昂貴、PoW 消耗大量能源等。從2014 年以來,以太坊社區就一直在尋求解決這些問題的方法,並踏上了曠日持久的升級之路。
因此,以太坊2.0 還是一個智能合約平台,只是會變得更可擴展、更安全、更可持續。
而Polkadot 的目標是成為第零層(Layer 0)區塊鏈,幫助大家創建區塊鏈,為這些區塊鏈提供共享的安全性,讓它們彼此之間可以方便地跨鏈交互。
2、分片方式
以太坊2.0 和Polkadot 都選擇了分片來提升可擴展性。區別在於狀態轉換函數上,狀態轉換函數是管理區塊鏈如何改變每個區塊狀態的規則。
以太坊2.0 的主鏈叫做“信標鏈”,每個分片都是一條具有eWasm 接口的鏈,一共有64 個分片。每個分片都具有相同的狀態轉換函數,該狀態轉換函數提供了智能合約執行的接口。合約存在於單個分片上(並且可以在分片之間發送異步消息),因此可以通過並行執行分片來進行擴展。
不過,以太坊的分片還在概念階段,社區仍在討論未來的分片方案。在以太坊官網的最新版本中提到,或許會考慮將分片鏈只作為數據層,只向網絡提供額外的數據,而不處理交易或智能合約,或者僅有一部分的分片處理合約。
在Polkadot 網絡中,主鏈叫做“中繼鏈”,分片叫做“平行鏈”,每條中繼鏈預計可以支持100 條平行鏈。最重要的區別在於,Polkadot 使用Wasm 作為元協議,因此平行鏈不會受限於像eWasm 這樣的單一接口,而是可以定義自己的邏輯和接口,只需把自身的狀態轉換函數提供給中繼鏈驗證人來執行即可。也就是說,平行鏈的開發者享有自由,去定義自己的鏈如何改變狀態的規則,你可以用任何你喜歡的語言來編寫任何計算機程序,只要能夠編譯為WebAssembly 就行。應用可以存在於某個平行鏈內,也可以跨平行鏈部署。
總的來說,以太坊2.0 的分片是讓原有的以太坊模型變得更具擴展性,可以處理更多的智能合約交易。而Polkadot 的分片並不局限於智能合約,每條平行鏈可以做成完全不一樣的鏈,比如一條平行鏈可以是類似以太坊的智能合約鏈,另一條平行鏈可以是專為DeFi 應用打造的鏈,另一條平行鏈可以專注於NFT。
舉個可能不太恰當的例子,以太坊2.0 的分片是工作任務太多了,一個員工幹不完,那麼就分給N 個實習生去幹,但是能幹的活還是那些。 Polkadot 的分片是有不同的業務部門,比如有銷售部、市場部、技術部,每個部門各自負責自己擅長的業務。
3、共識機制
以太坊2.0 和Polkadot 都使用混合共識模型,也就是用不同的協議分管出塊和區塊終結(fanality)。而且兩者的出塊協議都將驗證人隨機分配,終結協議都可以在一輪中終結一批區塊。
兩者的區別主要在於區塊終結時間和每個分片所需的驗證人數量。
以太坊2.0 的終結協議Casper FFG 基於時間週期(epoch)來終結區塊,每6 分鐘(最長12 分鐘)終結一批區塊。相比之下,Polkadot 的終結協議GRANDPA 是基於可用性來終結區塊的,一批區塊的預計終結時間在12-60 秒。
以太坊2.0 的每個分片需要大量的驗證人來提供有效性保障。 Polkadot 通過給系統中的所有驗證人分配糾刪碼來克服了這個問題,這讓任何人都可以重構某個平行鏈區塊並檢驗其有效性,從而讓Polkadot 可以用每個分片更少的驗證人來提供強大的有效性保障。
4、Staking 機制
以太坊2.0 採用權益證明(PoS)機制,每輪驗證週期(epoch)打包32 個區塊。驗證人每個epoch(預計6.5 分鐘)獲得一次獎勵。信標鏈隨機將驗證人分到多個委員會(commitee)中,並且在驗證過程中分配給特定的分片區塊。為了提供有效性保障,ETH 2.0 需要大量的驗證人。為了正常運行網絡,每個分片至少需要256 個驗證人,才能在一個epoch 中完成所有分片的終結工作,那麼64 個分片就需要26384 個驗證人。
Polkadot 則採用提名權益證明(NPoS)機制,也就是讓部分持有者(提名人)通過質押來提名驗證人,從而不用自己運行驗證人也能分享區塊獎勵。使用NPoS 機制,讓Polkadot 的驗證人可以更少,每條平行鏈大約只需要10 個驗證人,那麼100 條平行鏈就只需要1000 個驗證人。雖然目前還沒有100 條平行鏈,但是Polkadot 已經早早推出了“1000 個驗證人” 計劃,來幫助提高節點的去中心化程度。
5、治理
以太坊2.0 仍然沒有解決治理問題。目前以太坊主要依靠鏈下治理,比如Github 討論,開發者會議,Ethereum Magicians 論壇討論等。
Polkadot 採用鏈上治理機制。提出議案的渠道有多種,例如鍊上議會、技術委員會或者公眾。所有的議案都需要通過公眾投票才能執行,投票掌握在token 持有人手中。投票通過後的議案會在鏈上自主執行。從鏈上國庫的資金如何分配,到修改鏈的底層代碼,都是經過鏈上治理流程來決定和執行的。
6、升級方式
以太坊2.0 的升級方式還是靠常規的硬分叉,要求驗證人升級其節點來實現協議更改。
Polkadot 使用Wasm 元協議,無需硬分叉就可以進行鏈的升級。
7、進展
以太坊2.0 升級是一個分階段進行的宏大的工程,原計劃是在2022 年完成升級。最近以太坊更新了升級路線,考慮到“Rollups 等二層網絡解決方案已經一定程度緩解了可擴展性問題”,以太坊將分片的優先級下調,先專注於從PoW 到PoS 的轉變。最新的以太坊升級路線包括三個階段:
信標鏈:信標鍊為以太坊增添了staking,並為未來的升級打下基礎。信標鏈已經在2020 年12 月1 日上線。合併:將現有的以太坊主網和信標鏈合併,將以太坊從PoW 網絡轉變為PoS 網絡。該階段預計在2022 年完成。分片鏈:分片鏈將提高以太坊的交易處理和數據儲存能力。預計在2023 年完成。
Polkadot 在2020 年5 月上線了中繼鏈,2021 年12 月上線了平行鏈。 Polkadot 已經完成了核心功能的上線,接下來的重點是平行鏈的持續上線,以及跨鏈消息傳遞協議的升級和添加平行線程等功能。
截止發文,Polkadot 上運行了14 條平行鏈,其先行網絡Kusama 上運行著29 條平行鏈,並且在持續增加。
可以看出,雖然以太坊2.0 和Polkadot 有些許相似之處,兩個項目開始的時間也相差無幾,但是Polkadot 的進度毫無疑問是超前了不少的,至於具體多少,就要看以太坊2.0 到底什麼時候能上線了。
總結
以太坊2.0Polkadot設計目標智能合約平台支撐平行鏈的Layer 0 區塊鏈分片同構分片異構分片共識Casper/RandDAO/LMDBABE/GRANDPAStakingPoSNPoS治理鏈下鏈上升級方式硬分叉無需分叉進展預計在2023 年完成已上線
參考資料:
https://ethereum.org/en/upgrades/
https://wiki.polkadot.network/docs/learn-comparisons-ethereum-2