優點
• 演算法簡單,容易實現
• 客觀驗證:資訊可以在共識協議之內被驗證,節點間無須交換其他額外資訊
• 容錯率達50%,安全性有嚴格的數學論證
• 算力成本給主鏈幣賦予價值
缺點
• 效率低
• 區塊確認時間難以縮短
• 容易分叉,需要等待多個確認
• 永遠沒有最終性,需要檢查點機制彌補最終性
• 能源消耗大
摸索
草履蟲和共識機制
Vitalik說
“1(單獨鏈)和2(大區塊)在某種程度上顯然是有用的,但最終是不夠的,有點蹩腳(對於擴容來說,顯然我們需要許多獨立的鏈來進行實驗和生態系統的多樣性)。3方案可以說是被低估的。4和5能夠帶來最大的收益。”
為什麼要有角色多樣性
筆者所在的ok區塊鏈工程院認為,每一個共識機制都需要回答但不限於下面的問題(以後簡稱3WEI問題):
• What 下一個區塊應包含哪些交易?
• Who 下一個區塊應該由誰來生成?
• When 下一個區塊應該何時產生?
• Evolution 如何升級共識協議?
• Immunity 如何解決交易歷史的競爭問題?
共識機制的目標是找到這些問題的答案,並確保其健壯性以抵制攻擊者試圖獲得網路的控制權。 實際上,獲得控制就意味著獲得了單方面審查交易的能力。共識機制也應當能健壯地抵禦攻擊者利用在不同計算機上的資料庫狀態中的臨時不一致性獲取好處。
在生物學中,Evolution(進化)指的是生物的可遺傳性狀在世代間的改變,進而引起生物各個層次的多樣性。Immunity(免疫力)是多細胞生物的平衡狀態,具有足夠的生物防禦能力來抵抗感染,疾病或其他有害的生物入侵,同時具有足夠的耐受性以避免過敏和自身免疫性疾病。
如同系統角色多樣性所描繪的問題。我們已經知道,只從基礎鏈的角度去看比特幣時,他的效率遠不如我們所期望的,雖然他的去中心化程度很高。但當我們把區塊鏈專案和現行生物進行對比時,我們可以推斷出一個結論:
現行高階生命體的放棄了強大的再生能力(去中心化),進化出了各種不同種類的細胞(角色多樣性),換取在食物鏈中獲得更高位置的機會(提升效率)。
從POW到POS
如同我們在為什麼要有角色多樣性中討論的3WEI問題,以比特幣的POW為代表的中本聰共識非常巧妙的同時解答了所有問題:
中本聰共識:
透過引入經濟激勵改造了共識投票的過程,將每次賬本資料變化都安排一輪投票變為滾動的無限期投票:任何人都可以生成一個包含交易的區塊(增加賬本資料)並廣播,其他人如果同意該區塊納入賬本,則將該區塊的雜湊作為自己構造的區塊資料的一部分,以對該區塊進行“確認”;對某個區塊的“確認”也包含了對該區塊前序所有區塊的“確認”;以工作量大小決定投票權重,投票附加的工作量大的區塊勝出。這類共識機制的安全依賴於特別設計的經濟激勵,比如工作量證明(PoW)或者權益證明(PoS)等。
2011年一個名為Quantum Mechanic的數字貨幣愛好者在Bitcointalk論壇提出Proof-of-Stake(POS)證明機制。如果說POW主要比拼算力,算力越大,挖到一個塊的概率越大,POS則是比拼餘額,通俗說就是自己的手裡的幣越多,挖到一個塊的概率越大。但是到目前為止,關於POS的研究和討論還在進行,因為POS對其經濟設計的特殊要求,還沒有出現公認的可以直接替代POW演算法的方案。
區別
POW和POS的主要區別在於是否引入外部稀缺資源。
算力,作為POW的外部稀缺資源,確實巧妙瞭解決了3WEI問題,但是也引起了人們對其能源浪費的指責。除此之外,Vitalik還指出其有一點設計上的問題:它並沒有實現密碼朋克的精神--它的攻擊成本和防守成本是1:1的,並沒有防守優勢。(更多請參見長程攻擊問題)密碼學在21世紀是極其特殊的,因為密碼學是為數不多的在對抗衝突中都持續地大大偏向防守者一方的領域之一。摧毀一座城堡遠遠比建造更容易,島嶼都是可防衛的,但仍會受到攻擊,但一個普通人的橢圓曲線密碼學(ECC)秘鑰是足夠安全的,它甚至可以抵禦國家級入侵。密碼朋克哲學基本上就是利用這種珍貴的不對稱性,來創造一個可以更好的保持個體的自主性的世界,而加密經濟學保護的是具有一致性和協作性的複合系統的安全與活力,而非僅僅保護私人資訊的完整和保密,在某種程度上可以說是該哲學的延伸。自詡為密碼朋克精神繼承者的系統都應保持這種基本屬性,使毀滅或破壞它的成本比利用和維護它的成本要大得多。
簡單POS
2012年上線的Peercoin專案一般被視為第一個引入POS機制的專案。雖然他是POW/POS混合機制。隨後還有眾多POS的專案上線,如NXT(未來幣),Blackcoin(黑幣),Tendermint等。
其中,上述POS中最為突出的問題則是系統主鏈的穩定性--頻繁的分叉。稱之為”無利害關係(nothing at stake)”問題
無利害關係
Jae Kwon 2014年5月以“錯誤選擇謬論”的不幸名字第一次提到這個問題。在2014年7月Vitalik把比特幣開發者所描述的確切定義的問題普及推廣為“無利害關係”。問題呈現出此情況:驗證者透過在給定高度為多個有衝突的區塊投票可以有效的破壞安全性而不用付出任何代價。
簡單的PoS實現對於這些攻擊而言是非常脆弱的。災難性的是,因為沒有任何的激勵來鼓勵大家永遠集中在一個獨一的鏈上,並且每次激勵都要同時在相互衝突的鏈條上進行重複簽名,所以為了獲得更多的區塊獎勵,在經濟上最優的策略就變成了儘可能的在多個分杈上進行投票。如下圖展示:
除了”無利害關係(nothing at stake)”問題之外,還有一個問題也是POS機制設計者不得不考慮的問題--長程攻擊問題(long-range attack)。
長程攻擊問題
長程攻擊來源於使用者不得不撤回保證金的權利。這就產生了一個基本問題,因為這意味著攻擊者可以從任意長度的距離建立一個分杈而不用擔心被削減。一旦保證金被解除繫結,激勵不從某個高度區塊前進行長距離投票就被取消了。換句話說,當超過2/3的驗證者解除了繫結,那麼他們就可以惡意的創造包含之前驗證者集的第二條鏈,這可能導致任意的交易。
想理解長程攻擊問題,首先要解釋一個概念,叫卡特爾(壟斷聯盟)。
壟斷利益集團,也稱壟斷聯盟、企業聯合、同業聯盟、卡特爾(Cartel),這種壟斷很容易發生在少數資源被數個企業完全掌握的情況下,為了避免過度競爭導致的整體利益下跌,由一系列生產類似產品的企業組成的聯盟,是卡特爾壟斷組織的一種表現形式。透過某些協議或規定,甚至單靠共識來控制該產品的產量和價格,但聯盟的各個企業在生產、經營、財務上仍舊獨立,這些情況造成了卡特爾不穩定的本質。
採用POW的區塊鏈中,一個佔有51%礦工的卡特爾聯盟有動機去遮蔽那些不在卡特爾聯盟中的礦工。這些51%的礦工會立刻得到更多酬金的獎勵,並最終會得到更多的區塊獎勵。而且再有新的算力加入之前,這個卡特爾聯盟會一直持有此特權。這也是上文中提到的POW機制不復合密碼朋克精神的原因。同樣的,在POS中也是類似的問題(持有51%股份的卡特爾聯盟)。
關於面對長程攻擊的安全性問題,筆者認為在POW專案初期全網總算力較小時,危險較大。隨著全網總算力的提升,安全性則隨之提升。而POS面臨的挑戰更大,目前的解決方案是加入懲罰機制“劍手協議”,但是具體到詳細的引數設定上,還未有達到完美的方案。
未來的工作
由於上述問題,對於POS的研究已經進入到更深的一步。比如以太坊新提出的Casper方案,EOS採用的DPOS+PBFT方案等。稱之為複雜POS設計。關於此部分的內容,ok區塊鏈工程院會在下一篇文章內討論。
參考文獻
[1] 維基百科,Cypherpunk ,https://en.wikipedia.org/wiki/Cypherpunk
[2] Eric Hughes,《A Cypherpunk'sManifesto》 ,https://www.activism.net/cypherpunk/manifesto.html
[3] 維基百科,Hal Finney (computer scientist) ,https://en.wikipedia.org/wiki/Hal_Finney_(computer_scientist)
[4] ETH GITHUB,Proof-of-Stake-FAQs ,https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs
[5] 中國人民銀行數字貨幣研究所所長姚前,《區塊鏈研究進展綜述》,期刊《中國資訊保安》
[6] Vitalik Buterin,2016-12-31,《A Proof of StakeDesign Philosophy》, https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51
[7] 《Consensus Compare: Casper vs.Tendermint》, https://blog.cosmos.network/consensus-compare-casper-vs-tendermint-6df154ad56ae
更多區塊鏈資訊:http://www.qukuaiwang.com.cn/news