專訪Conflux研究總監楊光:淘汰挖礦!PoW轉向PoS風潮崛起,是對?是錯

買賣虛擬貨幣

由以太坊為代表的 PoW 轉向 PoS風潮,可以說是今年區塊鏈技術最重要的發展。PoW 機制及背後的整個挖礦產業,被證明存在種種缺陷與爭議。以太坊率先定下轉向 PoS 的目標,經歷多次反復調整迭代,如今終於來到將要落實啟動的時刻。

然而轉向 PoS 是否真能解決問題?或是將製造更多新的問題?這條路究竟是否走得通?本週 DeepHash 專欄邀請 Conflux 研究總監楊光來深入分析。他在文中詳細比較了 PoW 與 PoS 各自的優缺點,並指出如果一條公鏈要從 PoW 轉向 PoS,可能要面臨到甚麼樣的挑戰和取捨。而他認為,現有的主流公鏈從 PoW 轉向 PoS,需要慎之又慎,否則很可能會給整個共識系統帶來不必要的風險、甚至是災難性的後果。

(來源:Pixabay)

5月2日,以太坊核心開發者會議上宣佈,以太坊 Phase 0 Beacon Chain 的程式碼將於 6 月 30 日準備就緒,該升級將啟用一個 PoW/PoS 混合的共識協議 Casper the Friendly Finality Gadget (“FFG”)—aka”Vitalik's Casper”,這是以太坊 2.0 升級路線圖中,共識機制從工作量證明(PoW)轉向權益證明(PoS)的第一步。

以太坊共識機制的轉變,不僅是如今PoS 越來越流行的大趨勢的一個縮影,同時其作為第一個由 PoW 轉型至 PoS 的主流公鏈專案,想必還會為 PoS 陣營注入一股新鮮的血液,並推動 PoS 共識的發展。本文接下來就討論一下應該如何看待公鏈的共識從 PoW 轉向 PoS 的這股風潮。

PoW 和 PoS 在共識機制中的意義

首先需要澄清一點,無論是工作量證明、權益證明還是任何別的甚麼證明(PoX),它們本身都是用於抵抗女巫攻擊,並不等同於共識機制。形像一點來說,它們只用於決定誰擁有投票權,而最終的共識則要透過統計得票數量才能確定。

以大家最熟悉的比特幣為例,工作量證明僅僅證明一個打包好的區塊是形式上合法的,最終決定塊中包含的交易是不是有效,還要看這個區塊是否處於最長鏈上。這裡生成一個帶有工作量證明的區塊就相當於投出了一票,得到最多投票的那條鏈(也即最長鏈)才是有效的賬本。

同樣基於工作量證明的以太坊,就採用了另一種統計得票數量的方式,遇到分叉的時候不是根據最長鏈規則選擇,而是按照貪心的方式選擇可以觀察到的最重子樹,這種共識機制也被稱為 GHOST(Greedy Heaviest Observed Subtree)。

另一方面,如何決定投票權在任何共識中都是非常核心的部分。基於同樣的抗女巫攻擊機制的共識協議常常具有很多相似之處,而更換該機制也往往意味著整個系統都需要重新設計。所以,很多時候我們就會簡化地使用”PoW 共識”和”PoS 共識”來對共識機制進行分類。

PoW 和 PoS 機制的特點

基於工作量證明的 PoW 共識最大優點就是安全性高。

這個安全性來源於兩個方面:一是投票本身的邊際成本比較高,因為每次成功投票都需要完成大量計算,在此過程中要消耗很多電力;二是投出的票和投票權是強繫結的,因為工作量證明所需解決的計算難題是根據要投給的區塊計算得出的,對於一個區塊 A 所做的工作量證明無法用於給另一個區塊 B 投票。

其中第二點對於安全性尤為重要,因為它保證了透過工作量證明作出的選擇是無法撤銷、無法修改的,即便是想要修改自己過去投出的票也不行——除非對別的競爭選項重新做出工作量證明,而這需要再次消耗大量時間和電力等資源,作為之前的投票者本人並不比攻擊者享有任何優勢。

PoW 共識機制的另一個優點在於結構簡單,易於分析和實現。例如比特幣所用的最長鏈機制就很容易從博弈論的角度分析普通礦工的行為,從而對其安全性有一個比較客觀的判斷;另外比特幣判定最長鏈的邏輯也是相當簡單的,實現起來不易出錯。

但是 PoW 的缺點也很明顯:首先是能耗較高,這也是 PoW 最被人批評和詬病的一點。例如發改委就擬將虛擬貨幣挖礦列入淘汰類產業。儘管有人辯解說現在的挖坑產業使用的多是因為種種原因難以併入電網、不用就會被浪費掉的廉價電,並且透過 PoW 達成的共識物有所值,但是這些說法仍難扭轉主流觀點認為 PoW 挖礦浪費能源的態度。

第二個缺點是,由 PoW 共識控制孤塊率以保障安全性的設計帶來的延遲高、確認速度慢、吞吐量低的問題。實際上這個缺點可以透過其他基於 PoW 的共識協議(例如基於 DAG 的 GHOST 協議和基於樹圖的 Conflux 協議等)在一定程度上緩解,但是相關技術還需要經過實踐和時間的考驗。

最後還有一點是PoW 共識機製造成的治理難題,特別是當礦工的利益和開發者、使用者的利益相沖突的時候。現有的治理方式很難在三者之間平衡,處理方式稍有不當就有可能導致社羣分裂、公鏈硬分叉。

基於權益證明的 PoS 共識最大的優點就是幾乎完美地解決了 PoW 共識的所有缺點:首先,PoS 對於能耗的需求很低;其次,PoS 的確認延遲和吞吐量的主要瓶頸是網路通訊,不需要像採用最長鏈規則的 PoW 共識那樣刻意降低出塊速度和吞吐量,透過合理的設計就可以把交易確認速度和系統吞吐量都提高到比較理想的程度;最後,由於 PoS 共識(DPoS 除外)不需要專門做工作量證明的礦工,只有開發者和使用者兩種角色,所以社羣的治理相對更為簡單

然而另一方面,PoS 共識也幾乎失去了前面所說的 PoW 共識的所有優點。

在安全性方面,PoS 共識的本質要求確定投票權和行使投票權是相互分離的,因此可以用同一份投票權產生兩份不同內容的投票,且兩份投票單獨看上去都是合法的。

這直接導致了”無利害攻擊”(Nothing-at-stake attack)和”長程攻擊”(Long-range attack)兩種在 PoW 共識中不曾有過的攻擊方式。

“無利害攻擊”指的是一個投票者可以同時給分叉的兩個分支投票,從而在兩個分支上都獲得投票收益的問題;”長程攻擊”指的是攻擊者可以透過購買其他使用者私鑰的方式獲得一段時間以前某次投票的投票權,如果對應於這份投票權的資產早已被轉移,那麼攻擊者購買相應私鑰的成本將遠低於實際持有相同份額資產投票權的成本。

另外,因為 PoS 共識中總是先確定投票權後再決定如何投票,而且受限於通訊量,每一輪投票只能選取一部分使用者參加,所以攻擊者也可以定向購買或者以 DDoS 等方式阻塞即將生效的投票權,從而在特定的輪次獲得遠高於其持有資產份額的投票權利,這就是所謂的賄賂攻擊(Bribing attack)

可以說,每一個 PoS 共識協議設計的過程都免不了同上面所說的幾種攻擊方式鬥爭的過程。為此,PoS 共識協議不得不設計出各種複雜的規則,來檢測或抵抗這幾種針對 PoS 機制的攻擊方式,這直接導致 PoS 共識機制往往都比較複雜,分析和實現起來都比 PoW 共識難得多。即便如此,現有的 PoS 和 DPoS 共識(與 PoW共識相比)也都需要在安全性和/或去中心化上做出一些讓步。

從 PoW 轉向 PoS 是對是錯?

在前面一節的對比中,我們可以看出PoS 共識相比與 PoW 共識在效率、特別是達成共識的速度上的提升,是顯而易見的,缺點主要在於更復雜的協議設計和分析,以及潛在的安全性風險(代理的 PoS,即 DPoS,實際上放棄了一部分去中心化以降低系統的複雜性和進一步提升共識協議的效能)。

在理想的情況下,PoS 共識可以只進行兩輪廣播即確認一筆交易,這是 PoW 共識永遠達不到的速度。因為按照 PoW 共識確認一筆交易必須等待包含交易的區塊獲得多數算力支援,這意味著要等待其他礦工產生足夠多的區塊,所需的時間和廣播的輪數肯定遠超過理想的 PoS 共識。儘管實際上的 PoS 共識可能需要多於兩輪廣播,並且每輪廣播的延遲也可能顯著高於由專業礦工組成的 PoW 共識網路,但是這無法動搖 PoS 共識在確認速度方面已經體現出的優勢及其更高的上限。

在吞吐量方面,PoS 共識所能達到的上限並沒有顯著優於 PoW 共識,甚至可能還要略低一點。但是因為其確認快的特點,PoS 共識獲取高吞吐量所需付出的額外成本可明顯低於現有的 PoW 共識協議。例如基於 PoW 的Conflux 共識協議就需要從理論到演算法多方面的改進,才能在保證和採用最長鏈規則的 PoW 相近的安全性下實現較高的吞吐量;而最花時間的投票過程,在大部分的 PoS 共識中所花時間實際上跟區塊大小無關,可以透過簡單地擴大區塊把吞吐量提升到節點處理能力的極限——這樣做的代價是增加確認時間,不能過分使用。

至於安全性方面,PoS 共識系統的缺點主要在於更多的潛在風險和被攻擊的可能。比特幣的共識機制的安全性已經經過了很長時間的考驗,以太坊等主流 PoW 公鏈的安全性和可靠性也已被時間所證明,但是目前還沒有哪個 PoS 公鏈經受過同等水平的考驗。無利害攻擊、長程攻擊、賄賂攻擊等多種攻擊方式的存在,也使得人們更難相信 PoS 共識的安全性——即便它們可以抵抗這幾種攻擊,誰又能保證沒有其它尚不被人們熟知的攻擊方式呢?

PoS 共識中投票權和投票行為不繫結的特點,使得共識參與者可以採取的行動比 PoW 中的礦工豐富得多,這意味著攻擊者有更大的自由度,而且也更難分析其他參與者們會如何行動。

現有的很多 PoS 共識的安全性依賴於”誠實的大多數”,但是實際上很難找到無條件執行協議的所謂”誠實的參與者”,在現實世界中的人更接近於經濟學和博弈論所討論的”理性人”——一個理性的好人能做到不幹損人不利己的事,但是在有足夠大的收益驅動的時候都也可能會幹違反共識協議的”壞事”。

因此,一個安全的 PoS 共識系統除了保證在大多數參與者是誠實的情況下是安全的,還必須透過激勵機制的設計,保證每一個理性的參與者都會遵守共識協議,而不是嘗試透過違反協議獲得更大的收益,這在博弈論中被稱為”激勵相容的”。現有的主流 PoW 共識都是滿足激勵相容的,例如按照比特幣的規則,只有處在最長鏈上的區塊的產生者才能拿到挖礦獎勵,於是礦工們為了獲得獎勵就會按照規則在最長鏈後面挖礦。對於 PoS 共識系統,其本身的規則就已經非常複雜,參與者們的行動空間又比較大,因此想要深入分析 PoS 共識系統並證明類似的激勵相容性自然也更為困難。

綜上可以看出,PoS 在安全性上的缺點實際上更多的是一種隱患而不是不可修補的漏洞,是有可能透過完善的設計和精密的分析,做到部分、甚至是全部消除的。在某些合適的場景下,我們甚至可以透過在其它方面做出犧牲的方式得到堪用的安全性。因此筆者認為,在 PoS 共識的安全性可以達到應用場景的需求的前提下,使用 PoS 共識替代 PoW 共識是利大於弊的。

另外,原本是 PoW 的鏈轉向 PoS,其實還有一點額外的好處,就是避開了 PoS 共識的公鏈在釋出初期代幣過於集中的問題。通常一個公鏈專案剛釋出的時候所有代幣都在開發團隊和早期投資者手中,這就帶來鏈上產生的收益甚至整條鏈的共識被少數人壟斷的風險。當然,以太坊因為在 PoW 共識下已經過多年運營,其代幣早被分散到大量使用者手中,原本即不存在少數控制大量代幣的使用者透過 PoS 共識控制整條鏈的問題。

最後,筆者還是認為現有的主流公鏈從 PoW 轉向 PoS 是需要慎之又慎的。畢竟,現在還沒有一個公認可以安全地替代現有 PoW 的 PoS 共識,貿然啟用一個尚未被證明安全的 PoS 共識機制,很可能會給整個共識系統帶來不必要的風險、甚至是災難性的後果。以太坊社羣顯然也非常清楚這點,所以自從 2015 年 12 月 Vitalik Buterin 第一次提出轉向 PoS 共識的計劃以來,為以太坊升級所設計的 PoS 協議,已經歷了多個版本的反復討論和迭代,並且規劃出了先採用 PoW/PoS 混合共識的 Casper FFG,再過渡到純 PoS 共識的 Casper CBC 的升級路線。

在此,我們預祝以太坊的這次”吃螃蟹”的升級一切順利,可以作為一個成功轉型的榜樣,為整個區塊鏈社羣提供更多使用 PoS 共識的經驗。當然,即使以太坊在這次升級過程中出現一些波折,也一定會以另一種形式為大家更好地瞭解和使用 PoS 共識做出貢獻。(本文首發於DeepTech 平臺每週二之 DeepHash 專欄)

楊光

楊光畢業於清華大學姚班,並於清華大學交叉資訊研究院獲得電腦科學博士學位。加入Conflux 團隊前曾在丹麥奧胡斯大學、中科院計算所、位元大陸從事研究工作。他的研究方向包括密碼學、博弈論和區塊鏈。他的博士論文曾獲得中國密碼學會優秀博士學位論文獎。

免責聲明:

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

推荐阅读

;