由以太坊為代表的 PoW 轉向 PoS風潮,可以說是今年區塊鏈技術最重要的發展。PoW 機制及背后的整個挖礦產業,被證明存在種種缺陷與爭議。以太坊率先定下轉向 PoS 的目標,經歷多次反復調整迭代,如今終于來到將要落實啟動的時刻。
然而轉向 PoS 是否真能解決問題?或是將制造更多新的問題?這條路究竟是否走得通?本周 DeepHash 專欄邀請 Conflux 研究總監楊光來深入分析。他在文中詳細比較了 PoW 與 PoS 各自的優缺點,并指出如果一條公鏈要從 PoW 轉向 PoS,可能要面臨到什么樣的挑戰和取舍。而他認為,現有的主流公鏈從 PoW 轉向 PoS,需要慎之又慎,否則很可能會給整個共識系統帶來不必要的風險、甚至是災難性的后果。
就在幾天前的 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 團隊前曾在丹麥奧胡斯大學、中科院計算所、比特大陸從事研究工作。他的研究方向包括密碼學、博弈論和區塊鏈。他的博士論文曾獲得中國密碼學會優秀博士學位論文獎。
“區塊鏈技術非常復雜,而且有很多誤解。更可怕的是,很多人自認為了解區塊鏈技術,但表現出的卻是無知。學術機構有著巨大的責任去培養下一代的創新者。”在杜克大學商學院開設區塊鏈課程的教授 Campbell Harvey 曾經有感而發地說。
每項新興技術發展都有它的周期,愈是可能帶來重大變革的技術,這個周期往往也愈明顯。就在區塊鏈技術步入所謂“幻滅的低谷”之時,DeepTech 認為,下一個產業風口,如今正在每個頂尖高校的實驗室、在各國央行與監管機構的研究室,在行業組織的研討會中醞釀著。
DeepTech 認為,此時才是關鍵時刻,身為一家堅持深入報道科學科技產業的專業媒體與科技服務提供者,我們有責任也有必要,在這個時點上有帶領讀者去撥開迷霧、厘清誤解,培養對區塊鏈技術的更深刻認知。
因此我們于每周二固定推出 DeepHash 專欄,由 DeepTech 資深編輯林佳誼,邀集千人學者兼天德鏈創始人蔡維德、分布式系統專家王嘉平、Conflux 研究總監楊光、物聯網區塊鏈初創 BiiLabs 創始人朱宜振等專家學者共同維護,每周一次,帶領讀者在技術研發、在法規政策、在行業標準,在國際趨勢,方方面面深入挖掘未來 3-5 年真正具有產業化潛力的區塊鏈知識。
-
POS
+關注
關注
3文章
119瀏覽量
28320 -
挖礦
+關注
關注
6文章
448瀏覽量
16062 -
以太坊
+關注
關注
14文章
1838瀏覽量
31978
原文標題:淘汰挖礦!PoW轉向PoS風潮崛起,是對?是錯?| DeepHash專欄
文章出處:【微信號:deeptechchina,微信公眾號:deeptechchina】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論