PoW與PoS的優(yōu)劣勢以及多種區(qū)塊鏈安全性框架分析
Nervos 研究員張韌在舊金山區(qū)塊鏈中心做了一場題為《What PoS Cannot Achieve (But PoW Can) And What PoW Cannot Achieve, Either》的主題演講。在演講中,張韌介紹了 PoW 和 PoS 各自的優(yōu)劣與取舍,并和現(xiàn)場的觀眾就多種區(qū)塊鏈安全性分析框架,以及它們引發(fā)的爭議進行了深入探討。
安全性假設和安全屬性
在分享的一開始,張韌就給出了安全性假設和安全屬性關系的基本公式:
系統(tǒng)的脆弱性 =(理想中的安全屬性 - 實際的安全屬性)+ 安全性假設
從這個公式中我們可以看到,當想要建設一個更好的區(qū)塊鏈時,我們的關鍵目標應該是降低系統(tǒng)整體的脆弱性。而要達到這個目標,我們應該做到:與之前的設計相比,新增加的安全性假設少于新增加的安全屬性;
或者減少的安全性假設多于減少的安全屬性。
本質(zhì)上這就是在構(gòu)建一個更健壯的架構(gòu)。
然而現(xiàn)狀是,有太多項目宣稱自己是具備強安全屬性的區(qū)塊鏈 X.0,但實際上在這些安全性上的改進都包含一些前提假設,所以這也讓它們各自的網(wǎng)絡存在脆弱性。
PoW vs. PoS
熟悉 Nervos 的伙伴都知道,我們推崇比特幣的 Nakamoto 共識機制。在比特幣之前,(在分布式系統(tǒng)中)一個共識網(wǎng)絡中的所有參與者都彼此知道其它的每個參與者。它們之間的信息會通過安全鏈接或者采用數(shù)字簽名的方式進行傳遞,并且,消息對于定時的假設是異步的。
比特幣引入了帶有延遲的無需許可網(wǎng)絡的概念。在比特幣網(wǎng)絡中,新的節(jié)點可以隨時加入,并且可以獲得可信的網(wǎng)絡歷史記錄。網(wǎng)絡的參與者不再需要知道其他參與者,信息也不再需要被可信的主體簽名,而是通過廣播的方式傳遞。
那么,如果不采用工作量證明機制,或者在一段時間內(nèi)不采用工作量證明機制,這樣的網(wǎng)絡還能夠正常運轉(zhuǎn)嗎?對于一個無需許可區(qū)塊鏈來說,答案是否定的。
為了保證后來加入的節(jié)點能夠看到可信的區(qū)塊鏈歷史,工作量證明機制必須永遠持續(xù)下去。并且,節(jié)點需要隨時知道網(wǎng)絡的延遲信息,因此網(wǎng)絡中無法采用異步協(xié)議。另外,這個網(wǎng)絡還要求大部分節(jié)點都是誠實的。
那么,權(quán)益證明機制可以達成網(wǎng)絡中的這些屬性嗎?和工作量證明機制類似,權(quán)益證明機制的運行需要一種稀缺資源作為基礎。然而和工作量證明機制不同的是,如果沒有可信的主體,那么采用權(quán)益證明機制的網(wǎng)絡無法容忍較高的延遲。這意味著在某些情況中,權(quán)益證明機制系統(tǒng)會面臨幾種能夠讓新參與者無法分辨真實網(wǎng)絡歷史的攻擊。
為了解決這個問題,采用權(quán)益證明機制的系統(tǒng)必定會采用由一些擁有公共身份的可信主體進行簽名的檢查點機制,這實際上又違背了去中心化和無需許可的這個核心信條。
在某些情況中,采用權(quán)益證明機制比采用工作量證明機制的系統(tǒng)有更強的安全屬性。因為整個系統(tǒng)的價值是已知的(全網(wǎng)有多少 Token,Token 的價格都是公開可知的),如果大部分「價值」達成一致,那么參與者的數(shù)量就不那么相關,這樣一來,網(wǎng)絡可以繞過由于不知道所有參與者數(shù)量帶來的問題。
但為了確保它們是否達成一致,所有人都必須保持在線,而這是一個很強的安全假設,并且每一個區(qū)塊都必須被幾千個節(jié)點簽名,這會對性能產(chǎn)生很大的負面影響。因此,雖然參與者數(shù)量是已知的,但這并不能彌補權(quán)益證明機制相對于工作量證明機制的缺陷。