引子
智慧人的心,在遭喪之家;愚昧人的心,在快樂之家。
-- 圣經·舊約·傳道書第七章4節
“密碼朋克郵件名單”和《密碼朋克宣言》
2008年的11月1日。那一天,秘密討論群“密碼朋克郵件名單”里出現了一個新帖子:“我正在開發一種新的電子貨幣系統,采用完全點對點的形式,而且無需第三方信托機構。”該帖的署名,就是Satoshi Nakamoto。(satoshi是日文「聡」的羅馬音,Nakamoto則是「中本」)。從此,比特幣開始初露頭角。
這個秘密討論群是什么?密碼朋克又是什么?
TimMay是美國的一位科技和政治的作家。早請曾在英特爾擔任電子工程師和資深科學家,于2003年退休。在公司的成就主要是解決了英特爾集成芯片上的α-粒子問題。"密碼朋克郵件名單"則是1992年在他加州的家里發起的密碼朋克郵件列表組織。共同發起人包括EricHughes與 John Gilmore。
“密碼朋克郵件名單”到1994年已有700名訂戶。在高峰時期,這是一個非常活躍的論壇,討論的內容涉及數學,密碼學,計算機科學,政治和哲學討論,個人論證和攻擊等方面的技術討論,并引發了一些垃圾郵件。John Gilmore的一封電子郵件報道從1996年12月1日到1999年3月1日,每天平均30封電子郵件,并且表明這個數字可能較早。1997年的用戶數量估計已達2000個。[1]
在 Tim 和 Eric 創建了“密碼朋克郵件名單”后的1993年,Eric Hughes 在《ACypherpunk's Manifesto》中正式提出密碼朋克的概念。它宣揚電腦化空間下的個體精神,使用強加密(密文)保護個人隱私。密碼朋克提倡使用強加密算法,宣揚個體保持安全的私人性,他們反對任何政府規則的密碼系統。他們寧愿容許罪犯和恐怖分子來開發和使用強加密系統,他們認為這是為個人隱私付出風險,必須接受。
“密碼朋克致力于建立匿名系統……電子時代,隱私是開放的社會不可或缺的……我們不能期望政府,企業或其他大型的,匿名組織來保障我們的隱私……如果期望擁有隱私,那么我們必須親自捍衛之。我們使用密碼學,匿名郵件轉發系統,數字簽名,以及電子貨幣來保障我們的隱私”
以上內容節選自《A Cypherpunk's Manifesto》。[2]
當然,近些年來國家也提出了“穿透式監管”的新需求,ok區塊鏈工程院也會保證以后所開發出的產品會滿足各個地區當地的法律法規。
從哈希現金到可用工作量證明
比特幣使用的工作量證明(Proof-of-Work,PoW)實際上并不是中本聰發明的。他的技術前身哈希現金(Hashcash)是Adam Back在1997年發明的。最初的目的是為了實現電子郵件的可信。發送電子郵件之前,客戶端需要運算一個數學題,這樣發送大量垃圾郵件的成本就會變得巨大。這個思路,后來被Hal Finney(比特幣的第一筆交易也是由中本聰發送給他的)借鑒,在2004年創建了第一個“可重復的工作量證明機制”。最后,才被中本聰用到比特幣中,完美的解決了拜占庭問題。
簡單的來說,工作量證明是一種對應服務與資源濫用、或是阻斷服務攻擊的經濟對策。一般是要求用戶進行一些耗時適當的復雜運算,并且答案能被服務方快速驗算,以此耗用的時間、設備與能源做為擔保成本,以確保服務與資源是被真正的需求所使用。
ok區塊鏈工程院一開始也是從POW機制入手去構建自己的共識模型。
優點
? 算法簡單,容易實現
? 客觀驗證:信息可以在共識協議之內被驗證,節點間無須交換其他額外信息
? 容錯率達50%,安全性有嚴格的數學論證
? 算力成本給主鏈幣賦予價值
缺點
? 效率低
? 區塊確認時間難以縮短
? 容易分叉,需要等待多個確認
? 永遠沒有最終性,需要檢查點機制彌補最終性
? 能源消耗大
摸索
草履蟲和共識機制

圖為草履蟲分裂
什么是去中心化?
判斷一個協議是不是去中心化的,是看這個協議能不能在全部節點都永久性刪除后,僅依靠一個節點仍然能夠恢復過來正常運作。這一項定義是深受生物學所啟發的。
比特幣,以太坊和EOS是目前業內承認度較高的區塊鏈項目。從去中心化的角度來看,雖然比特幣和以太坊都采用的POW,但因為以太坊采用了ethash算法,所以相對的更加去中心化。而EOS采用的委托權益證明機制(Delegated-proof-of-stake,DPoS)則被認為詬病過于中心化。筆者所在的ok區塊鏈工程院認為,當我們描述中心化這個詞的時候,我們實際上是在考慮2個問題:
? 網絡開放性
? 系統角色多樣性
網絡開放性
我們把像比特幣這種,節點和賬戶可以隨便加入和退出的區塊鏈網絡,稱之為公鏈。像IBM的hyperledger這樣,節點和賬戶的加入和退出需要滿足某種條件(如CA中心審核,退出批準等)的區塊鏈網絡,稱之為聯盟鏈。實際上,這里所描述的問題則是網絡開放性問題。
系統角色多樣性
比特幣的網絡中只有普通節點和挖礦節點,擁有全量賬本數據的普通節點轉為挖礦節點并不需要額外的條件。
以太坊即將上線的Casper共識中,除了上述的普通節點和挖礦節點,還包括了驗證人節點(validator)[4]。驗證人技術是通過智能合約實現的。
EOS所采用的石墨烯架構中,則包含普通節點和出塊節點(BlockProducer)。普通節點想轉為出塊節點則需要一些額外的步驟才可以。
與比特幣相比,后兩者實際上是通過降低網絡的開放性,增加網絡的角色多樣性去提升效率。
效率
效率因素是每個區塊鏈項目都必須考量的,一個很常見的例子是,將區塊鏈項目與VISA進行比較。VISA信用卡備受用戶青睞,每秒處理的交易量,遠不是比特幣和以太坊當前每秒的交易量能比擬的。
Vitalik在推特上曾表表過關于以太坊的擴容策略。
1 許多單獨的鏈
2 超級大區塊
3 不用改變安全模型的增量改進(例如,用壓縮的delta+STARKs替換txs+sigs)
4 二層(Layer 2)(通道channels和plasma)
5 分片(sharding)

Vitalik說
“1(單獨鏈)和2(大區塊)在某種程度上顯然是有用的,但最終是不夠的,有點蹩腳(對于擴容來說,顯然我們需要許多獨立的鏈來進行實驗和生態系統的多樣性)。3方案可以說是被低估的。4和5能夠帶來最大的收益。”
為什么要有角色多樣性
筆者所在的ok區塊鏈工程院認為,每一個共識機制都需要回答但不限于下面的問題(以后簡稱3WEI問題):
? What 下一個區塊應包含哪些交易?
? Who 下一個區塊應該由誰來生成?
? When 下一個區塊應該何時產生?
? Evolution 如何升級共識協議?
? Immunity 如何解決交易歷史的競爭問題?
共識機制的目標是找到這些問題的答案,并確保其健壯性以抵制攻擊者試圖獲得網絡的控制權。 實際上,獲得控制就意味著獲得了單方面審查交易的能力。共識機制也應當能健壯地抵御攻擊者利用在不同計算機上的數據庫狀態中的臨時不一致性獲取好處。
在生物學中,Evolution(進化)指的是生物的可遺傳性狀在世代間的改變,進而引起生物各個層次的多樣性。Immunity(免疫力)是多細胞生物的平衡狀態,具有足夠的生物防御能力來抵抗感染,疾病或其他有害的生物入侵,同時具有足夠的耐受性以避免過敏和自身免疫性疾病。
如同系統角色多樣性所描繪的問題。我們已經知道,只從基礎鏈的角度去看比特幣時,他的效率遠不如我們所期望的,雖然他的去中心化程度很高。但當我們把區塊鏈項目和現行生物進行對比時,我們可以推斷出一個結論:
現行高級生命體的放棄了強大的再生能力(去中心化),進化出了各種不同種類的細胞(角色多樣性),換取在食物鏈中獲得更高位置的機會(提升效率)。
從POW到POS
如同我們在為什么要有角色多樣性中討論的3WEI問題,以比特幣的POW為代表的中本聰共識非常巧妙的同時解答了所有問題:
中本聰共識:
通過引入經濟激勵改造了共識投票的過程,將每次賬本數據變化都安排一輪投票變為滾動的無限期投票:任何人都可以生成一個包含交易的區塊(增加賬本數據)并廣播,其他人如果同意該區塊納入賬本,則將該區塊的哈希作為自己構造的區塊數據的一部分,以對該區塊進行“確認”;對某個區塊的“確認”也包含了對該區塊前序所有區塊的“確認”;以工作量大小決定投票權重,投票附加的工作量大的區塊勝出。這類共識機制的安全依賴于特別設計的經濟激勵,比如工作量證明(PoW)或者權益證明(PoS)等。[5]
2011年一個名為Quantum Mechanic的數字貨幣愛好者在Bitcointalk論壇提出Proof-of-Stake(POS)證明機制。如果說POW主要比拼算力,算力越大,挖到一個塊的概率越大,POS則是比拼余額,通俗說就是自己的手里的幣越多,挖到一個塊的概率越大。但是到目前為止,關于POS的研究和討論還在進行,因為POS對其經濟設計的特殊要求,還沒有出現公認的可以直接替代POW算法的方案。
區別
POW和POS的主要區別在于是否引入外部稀缺資源。
算力,作為POW的外部稀缺資源,確實巧妙了解決了3WEI問題,但是也引起了人們對其能源浪費的指責。除此之外,Vitalik還指出其有一點設計上的問題:它并沒有實現密碼朋克的精神--它的攻擊成本和防守成本是1:1的,并沒有防守優勢。(更多請參見長程攻擊問題)[6]
密碼學在21世紀是極其特殊的,因為密碼學是為數不多的在對抗沖突中都持續地大大偏向防守者一方的領域之一。摧毀一座城堡遠遠比建造更容易,島嶼都是可防衛的,但仍會受到攻擊,但一個普通人的橢圓曲線密碼學(ECC)秘鑰是足夠安全的,它甚至可以抵御國家級入侵。密碼朋克哲學基本上就是利用這種珍貴的不對稱性,來創造一個可以更好的保持個體的自主性的世界,而加密經濟學保護的是具有一致性和協作性的復合系統的安全與活力,而非僅僅保護私人信息的完整和保密,在某種程度上可以說是該哲學的延伸。自詡為密碼朋克精神繼承者的系統都應保持這種基本屬性,使毀滅或破壞它的成本比利用和維護它的成本要大得多。
簡單POS
2012年上線的Peercoin項目一般被視為第一個引入POS機制的項目。雖然他是POW/POS混合機制。隨后還有眾多POS的項目上線,如NXT(未來幣),Blackcoin(黑幣),Tendermint等。
其中,上述POS中最為突出的問題則是系統主鏈的穩定性--頻繁的分叉。稱之為”無利害關系(nothing at stake)”問題
無利害關系
Jae Kwon 2014年5月以“錯誤選擇謬論”的不幸名字第一次提到這個問題。在2014年7月Vitalik把比特幣開發者所描述的確切定義的問題普及推廣為“無利害關系”。問題呈現出此情況:驗證者通過在給定高度為多個有沖突的區塊投票可以有效的破壞安全性而不用付出任何代價。[7]
簡單的PoS實現對于這些攻擊而言是非常脆弱的。災難性的是,因為沒有任何的激勵來鼓勵大家永遠集中在一個獨一的鏈上,并且每次激勵都要同時在相互沖突的鏈條上進行重復簽名,所以為了獲得更多的區塊獎勵,在經濟上最優的策略就變成了盡可能的在多個分杈上進行投票。如下圖展示:

除了”無利害關系(nothing at stake)”問題之外,還有一個問題也是POS機制設計者不得不考慮的問題--長程攻擊問題(long-range attack)。
長程攻擊問題
長程攻擊來源于用戶不得不撤回保證金的權利。這就產生了一個基本問題,因為這意味著攻擊者可以從任意長度的距離建立一個分杈而不用擔心被削減。一旦保證金被解除綁定,激勵不從某個高度區塊前進行長距離投票就被取消了。換句話說,當超過2/3的驗證者解除了綁定,那么他們就可以惡意的創造包含之前驗證者集的第二條鏈,這可能導致任意的交易。[7]
想理解長程攻擊問題,首先要解釋一個概念,叫卡特爾(壟斷聯盟)。
壟斷利益集團,也稱壟斷聯盟、企業聯合、同業聯盟、卡特爾(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
作者:劉杰、許乾
來源:OKCoin幣行