從 PoW 到 PoS ,以太坊的進化之路

買賣虛擬貨幣


革新還是死亡?這是個問題。

文 | 吳鹽

出品 |  Odaily星球日報(ID:o-daily)


WanChain 全球副總裁李尼認為,PoS 的以太坊比 DPoS 機制更加民主,更加去中心化。如果它被證明比 PoW 有很大優勢,可能很多新專案就會直接也會採用 Fork 這個方式轉成 PoS。

“另一方面,以太坊實現 PoS 後, tps 會大大提高,這樣會使一些專案從 EOS、波場轉身,重新擁抱以太坊懷抱。”李尼也預測,但以太坊的出塊速度,不一定有 EOS 21 個超級節點那麼高效。

而以太坊黃皮書翻譯者楊鎮認為,以太坊共識機制的轉換,相當於主網擴容,主要解決 tps 問題,現在做的這個事有點騎虎難下:

“如果考慮應用場景,需要高互動,要求處理時間,是不是一定把所有的計算步驟都在主網上做才可以?”

“之前大家就有過焦點爭論,二層網路擴充套件上,把大量有交易要求的計算放在一個單獨的二層網路上去做這個事情,過程驗證放在主網證明上就可以了。”

“我個人覺得,以太坊花這麼長時間做這個事情,有點不值。”

Casper 最初的設計

探討任何一條公鏈,無法繞開共識演算法這個核心概念。2013 年,PoS 演算法被寫進以太坊白皮書。

“儘管比特幣區塊鏈模型非常簡陋,但是實踐證明它已經足夠好用了,在未來五年,它將成為全世界兩百個以上的貨幣和協議的基石。”

這是出自以太坊白皮書的一段話,以太坊從最開始就採用了比特幣區塊鏈 PoW 工作量證明機制。

比特幣的工作量證明(Proof of Work)是透過消耗大量算力尋找合理的隨機數生成區塊驗證。

在 Vitalik 看來,PoW 不僅“交通”擁堵、浪費能源,而且逐漸邁向了中心化道路。

因為隨著挖礦難度的增大,ASIC 專業礦機應用而生,ASIC 專業礦機的出現,造成了算力壟斷的局面。

PoS —— 權益證明,是根據每個節點的代幣持有量與持有時間之積來決定記賬權的機制。舉例來說,如果你本金與時間之積越大,你就越有優先記賬權,記賬後乘積被銷燬,這個過程被稱作“幣天銷燬”。

相比於 PoW 的算力證明,PoS 機制可以有效減小能源消耗、縮短共識時間、避免算力中心化礦池“作惡”。

雖然在以太坊之前已經有 PPCoin 使用 PoS 這樣的先例,但當時 PoS 的研究和實現都還很不成熟。阿劍認為“PPCoin 執行過程中出現了很多問題,比如‘理性分叉’問題(也被稱為‘無利益相關’問題)。當時以太坊研究者們還沒有找到一種足夠安全的 PoS 機制。”

Vitalik Buterin 在《Casper 的過去、現在和未來》一文中曾提到:“以太坊的權益證明研究開始於 2014 年 1 月,是從‘劍手協議’開始的。” 

Casper(security-deposit based economic consensus protocol)即以太坊的 PoS 股權證明協議。Casper 的共識協議可以透過對保證金的直接控制來約束驗證人的行為,這是與經典 PoS 股權證明的不同之處。

2014 年 4 月,Vlad Zamfir 以志願者身份參與以太坊的開發。根據 Vlad 的說法,Vitalik 也是在那一年的維也納比特幣峰會上和他提出“劍手協議”這個概念。

“如果你在同一個層級的分叉上同時簽署了兩份協議,那麼你就會失去你所能得到的區塊獎勵。”這是 Vitalik 為了解決無利害關係(nothing at stake)時提出的想法。

後來,Vlad 正式加入以太坊的開發,並在“劍手協議”的基礎上指出“讓驗證者儲存保證金,而且數額要比獎勵大很多,以此驅逐賄賂攻擊”。

當時,Vitalik 和 Vlad 正著手解決賄賂攻擊問題(沒有保證金存款的 PoS 協議很容易被低成本賄賂給擊敗)。

2015 年初,Vlad 遇到了一個名為 Matthew Wampler-Doty 的人,Matthew 和 Vlad 提到了保證金的概念:

“在未來將會產生一個持有多於 2/3 的安全存款保證金的 Tendermint 驗證者卡特爾(壟斷聯盟),因為構建最終的區塊並不需要其餘驗證者的參與(這些‘非卡特爾驗證者’只持有少於 1/3 的安全存款保證金)。這些少於 1/3 的節點將被遮蔽,以至最終被移除出驗證者名單。一組新的持有多於 2/3(現在總量會少一點)的安全存款保證金集卡特爾將隨之產生,並且這一過程將會一直持續運作到僅剩(最多)兩個驗證者存在。”

Vlad 醍醐灌頂,著手研究“卡特爾驗證”,並將這一理念加入到了“劍手協議”當中,這就是 Casper 最初的設計:劍手協議+保證金。

2015 年 3 月,以太坊開發者 Vinay Gupta 在博文中寫下了以太坊的四個發展階段:Frontier(前沿),以太坊啟動;Homestead(家園),從 alpha 走向 beta 版;Metropolis(大都會),開發 Mist 和使用者互動介面並提升使用者體驗(當時的預期);Serenity(寧靜),實現權益證明。 

向 PoS 機制邁進

以太坊目前有兩個開發團隊,一個負責當前以太坊(以太坊 1.x 版本)的開發和維護,一個負責以太坊 2.0 的開發。君士坦丁堡分叉則停留在以太坊 1.x 版本範圍的升級。

以太坊 2.0 ,是相對於現階段的以太坊而言。2.0 將從寧靜( Serenity)計劃開啟,向 PoS 股權證明機制邁進。

在上述文中提到的 Casper PoS 機制中,Casper 將採用兩個版本:Vitalik Buterin 版的 Casper FFG 混合證明和 Vlad Zamfir 版的純權益證明 Casper CBC 。

根據《ETH 2.0 工程指南》的作者 James Prestwich 的闡述,以太坊 2.0 測試網預計在今年第一季度推出。

以太坊 2.0 初期,採用 Casper FFG 機制執行和出塊。彼時,信標鏈(beacon chain)將與以太坊 1.x 互為映象關係,信標鏈為側鏈,但不具有任何功能,以太坊 1.x 為主鏈,按照原有的 PoW 機制出塊。

EthFans 編輯阿劍告訴 Odaily星球日報:“使用者在 PoW 鏈上將以太幣鎖進相關的合約就可以獲得參與信標鏈的驗證者資格,並得到 PoS 獎勵,但在信標鏈上新的以太幣無法退回到 PoW 主鏈上。”

在信標鏈分片階段,信標鏈將產生 1024 個分片,每個分片有一個地址。Casper FFG 信標鏈採用二次隨機選舉的方式完成出塊驗證並防止驗證者作惡。

驗證者需要向分片地址投入 32 個 新以太幣作為押金。信標鏈每隔 64 個塊(1 分鐘出 10 個塊)會隨機選出 128 名驗證者作為待定委員,再由信標鏈在從 128 名待定委員中隨機選擇出一定數量的委員組成委員會。

被選中的委員可以在各自的區塊上進行驗證產生新的區塊,但委員的“任職”期限僅為 6.4 分鐘,6.4 分鐘後的區塊控制者將在下一屆的新委會中誕生。

以太坊的 PoS 權益證明,雖然本質上屬於鏈下治理,但處理細節上則以技術手段來強化鏈上治理。

以太坊黃皮書翻譯者楊鎮認為,相比於 DPoS 股份授權證明,以太坊的 PoS 想做成一個更平等的投票方式,這和 EOS 有很大差別,“我相信一句話,人性是經不起考驗的。”

但原定於 1 月 16 日的君士坦丁堡升級與 Casper FFG、Casper CBC 均沒有半毛錢關係。

值得注意的是,在君士坦丁堡的五個 EIP 升級協議中,EIP-1234 是以太坊向 PoS 機制轉換過程中採用“溫水煮青蛙”式的既定策略。

該協議由 Afri Schoedon 於 2018 年 7 月19 日提出,協議建議將難度炸彈延遲 12 個月,並將礦工獎勵由 3 ETH 減少到 2 ETH。

該提案在去年 8 月 31 日以太坊開發人員影片會議上被透過,並在以太坊君士坦丁堡硬分叉時執行。

以太坊的挖礦難度隨挖礦時間成指數增長,即每產出 10 萬個塊挖礦難度指數擴大一倍。根據Hsiao-Wei Wang 的以太坊 2.0 構架圖不難推測,難度炸彈預計推遲到以太坊 2.0 階段。

以太坊 2.0 構架圖 來自 Hsiao-Wei Wang

隨著挖礦獎勵的減少和難度炸彈的影響,信標鏈在各方利益者取得共識的時候,出塊到足夠長,信標鏈會變成主鏈,以太坊 1.x 變為側鏈。此時,信標鏈將分片成 Shard chain。

探索中的曲折

2015~2016 年,Vitalik 和 Vlad 對 PoS 的研究依然處於摸索階段,而可擴充套件性研究中的“漁夫兩難”和“投注共識”問題又花掉了以太坊開發團隊大部分時間。

Vitalik 後來總結:“我們在解決 PoS、可擴充套件性中的一些核心問題上遭遇了一系列失敗,Vlad 悄悄地暫停了他在 Casper CBC 中的所有工作。”

The DAO 事件、DoS 攻擊,更讓以太坊團隊在長達 6 個月的時間裡幾乎無暇顧及之前的研究方向。

直到 2017 年,Vitalik 和 Vlad 的 Casper 研究出現了轉機。先是以太坊開發了一個名為最小罰沒的協議:一旦在某輪中某區塊獲得 2/3 的驗證者同意,該區塊的父塊便被敲定,最小罰沒條件是 Casper FGG 的核心思想。

FFG 是以太坊在過渡階段的 PoW+PoS 混合共識機制。在 FFG 最初的設計中,Vitalik 將一個權益證明協議疊加在以太坊的工作量證明協議上,即區塊仍將透過工作量證明來挖出,但每 50 個區塊中將有一個權益證明檢查點( PoS 塊 )來評估確定性(Finality)。

Vitalik 興奮地講到:“這會是一種可以讓我們快速轉向混合共識的機制,並且對現有區塊鏈造成的衝擊也最小,然後理論上我們將有可能升級為完全的權益證明。”

為此,以太坊開發團隊還做了一個 Python 測試客戶端,用不同的 VPS、伺服器和電腦通訊來做測試。

Vlad 在 2017 年也發表了 Casper CBC 的論文。與 FFG 不同的是,CBC 強調"建構中修正",協議規定:

你正式地但只是部分地指定協議。

定義該協議必須指定的屬性。

從滿足所有它被規定去指明的屬性中推匯出該協議。

CBC 協議中有一個叫做預估安全預言機,在設定提出一個合理估計的錯誤的例外情況,列出所有在未來可能發生的錯誤,在給定區間內,其正確性是由其建構過程來保證。CBC 屬於純 PoS 股權證明,預計將在以太坊 3.0 中實現。

延遲“炸彈難度”也是在這個時候開始被提出。2017 年 6 月 21 日,EIP - 649 協議提出在君士坦丁堡升級中延遲炸彈難度,將平均阻塞時間減少到15秒以下,同時區塊獎勵從 5 ETH 減少到 3 ETH,為以太坊的過渡贏取時間。

2018 年,已經有多個以太坊開發團隊各自嘗試分片技術的實現。Vitalik 認為:

“在分片這一邊,最終變得越來越清楚的是:讓分片系統的核心放在 PoS 鏈上會給我們帶來更高的效率。”

“變成 PoW 鏈上的一個合約,我們就不得不處理 EVM 的開銷,應付 Gas 機制,應付不可預測的 PoW 區塊時間;PoS + 分片 可以帶來更快的出塊時間等一系列好處。”

這時候“權益證明協議疊加在以太坊的工作量證明協議上”被放棄,取而代之的就是以太坊 2.0 的 Casper PoS + Sharding(分片)技術。

持續的爭議

Vitalik 個人部落格簡介倒數第五行上寫著: Religion: crypt

早在 2014 年,Vitalik 就說過:“股權證明仍然是加密貨幣領域最具爭議的討論之一。”時至今日,不同的人,對共識機制問題依然有不同的看法。

“減少了能源的損耗,它不再需要透過挖礦這個方式,從理論上來說, PoS 會大大的降低中心化風險。”李尼認為,PoS 比 PoW 先進很多。

礦寶負責人劉傑則認為,PoW 沒什麼不好,很多人覺得是在浪費電費,我的理解正相反:“礦工的電費實際上是靠經濟的作用來提高 PoW 數字資產的安全性。那麼大的資產,才需要那麼多的電費來維護它的安全和運轉。”

PoW 機制造成了寡頭壟斷,PoS 則屬於資本家的遊戲。窮者越窮,富者恆富,即使以太坊擺脫了寡頭壟斷,卻難免再次陷入富者恆富的鴻溝。無論鏈上治理還是鏈下治理,共識機制的規則和程式都由人來制定。

共識機制問題,業內爭論不休,如果上升到人類的社會治理層面,無非你管的多好,還是你管的少好。安全一定的前提下,弱中心化管理,必然帶來效率問題。

原力創始人孤矢則告訴 Odaily星球日報:“目前,不論 DPoS 還是 PoS ,從效率角度來看,都沒有 PoW 完美。PoW 唯一不完美的地方是太去中心化了,社羣治理不好,推動很慢。但沒有辦法,效率和去中心化是非此即彼的問題,比如說我們團隊幹活的時候叫 PoW ,開會的時候就叫 PoS ,因為CEO說了算。 ”

“PoS 存在就一個問題,做不出來。(PoW)以太坊已經喊了一兩年 PoS 了,都沒做出來,程式碼上也沒什麼。這次一分叉升級啥都沒改嗎?不就是調了幾個 Bug,然後最佳化了幾個資料嘛。”

1 月 18 日晚間,以太坊開發團隊在電話會議上就 EIP-1283 協議漏洞問題,再次將君士坦丁堡升級事件推遲至 2 月 27 日 16:56,區塊高度為 280000。

如果以太坊順利升級成功,在寧靜來臨之前,難度炸彈問題還能留給以太坊開發團隊多少時間?

阿劍認為:“這個很難說,也許年中,也許年底。這個過程需要解決的問題還真不少,首先是確定信標鏈上的分叉選擇規則,然後實現 PoW 鏈上的質押合約等。”

以太坊如果進化到 2.0 ,最終解決的問題無外乎三點:

(1)實現強健的 PoS 共識機制;

(2)分片;

(3)將 EVM 轉成 EWASM。

總結起來很簡單:一個可以穩定高效執行的去中心化智慧合約平臺。好與不好,先做出來一個再說。

——---——————--

作者吳鹽,專注礦業、區塊鏈報道,交流可加微信BIG-BYE,勞請備註職務和事由

原創文章,轉載/內容合作/尋求報道請聯絡 [email protected]未經授權嚴禁轉載,違規轉載法律必究。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;