共識挖掘機(一)——回顧篇
Hello大家好,我是元界的CTO陳浩,今天我們聊聊共識演算法。
首先這不是一篇單純地介紹區塊鏈共識演算法的文章,而是從共識演算法的角度來看區塊鏈發展的文章。目前幣圈的寒冬讓大批的專案“不再活躍”,按幣不動的投機者感嘆著曾經創造造富神話的區塊鏈,而經典網際網路的從業者對區塊鏈的另類態度,也引起了我對區塊鏈的重新思考。綜合不同人的觀點,結合我的思考打算寫一個共識挖掘機的系列文,希望對大家有幫助。
區塊鏈共識演算法回顧
我們先來回顧區塊鏈共識演算法的歷史,為了方便讀者理解,我將區塊鏈共識演算法分為四個階段:挖礦階段、初步創新階段、大躍進階段、微創新階段。
挖礦階段
挖礦階段主要是指2013年~2015年這段時間,這段時間除了未來幣、位元股等少數非PoW公鏈,區塊鏈的發展主要集中在挖礦演算法的創新上。
眾所周知,一開始是比特幣的SHA256演算法,人們為了解決AISC的挖礦門檻提升帶來的挖礦中心化問題,人們陸續提出了Scrypt、SHA512、ETHASH、X11乃至X16的挖礦演算法。
但這一階段的創新基本不涉及PoW演算法本身,換句話說,也就是無論耕地的鋤頭變成金的還是銀的,都還是要耕地(PoW)的。
這也是區塊鏈共識演算法研究的早期,換湯不換藥的PoW給數字貨幣的礦業帶來了極大的繁榮,也締造了位元大陸這樣的礦業帝國。
初步創新階段
這一階段差不多是2014年~2016年,和挖礦階段有些許重疊,但共識演算法的討論已經明顯不侷限在PoW上了,自2014年Sunny King提出的PoS演算法,在這三年中衍生出多個變種,PoS也逐漸成為區塊鏈共識演算法中大家最樂意微創新的品種。PoS的變種包括 Pure PoS1.0/2.0/3.0 三個變化版本,以及瑞迪幣的權益速度證明,未來幣NXT的Forging PoS(透明鍛造),當然發揮最好地應該數BM了,2014年他發明的DPoS依然是區塊鏈行業最具競爭力的共識演算法。
這一階段除了PoS,還有聯盟鏈HyperLedger的大熱,使得經典分散式系統專家加入區塊鏈共識演算法的研究當中,傳統分散式系統專家的優勢是技術最大化,也就是完全不考慮代幣激勵的情況,設計出了優秀的具有拜占庭容錯的分散式系統,並且他們命名為DLT分散式賬本技術。雖然我個人不把DLT看做區塊鏈,但是不影響我完全認可HyperLedger的成就,區塊鏈作為分散式系統的特例,HyperLedger的技術研究也可以為區塊鏈所用。
大躍進階段
這一階段差不多是2016年~2018年,這段時間得益於ICO的盛行,產生了大量技術驅動的區塊鏈團隊,提出了形形色色的共識演算法,作為區塊鏈泡沫時代的產物,使得我有大量的材料可以研究。
這段時間總結起來有7個葫蘆娃:
- 第一個是PoS共識演算法爆出Nothing at stake(無成本利益)問題(被Blockstream狠狠地Diss了一把),使得PoS共識演算法的發展發生了改變,其中代表要數以太坊Casper;
- 第二個眾多技術研究者發現共識演算法的本質不過是在不可預測的情況產生記賬者即可,所以基於區塊鏈可驗證隨機數(VRF)的共識演算法進入公眾視野,代表有本體的VBFT、Algorand協議、Tezos的Liquid PoS、ADA的Ouroboros;
- 第三個是有關鏈上治理的大討論,Vitalik和BM直接在社交媒體上就鏈上治理槓正面,兩種完全不同的信仰碰撞使得社群熱鬧非凡;
- 第四個是DAG等非鏈式結構的共識演算法進入公眾視野,DAG為區塊鏈在弱金融場景下的高頻互動提供了可能;
- 第五個是去中心儲存協議IPFS以及Fcoin的熱門,為區塊鏈應用提供了額外的儲存選項;
- 第七個是聯盟鏈場景下比較成熟的共識Tendermint、PoA、PoET使得聯盟鏈已經在傳統行業有所應用,眾多企業雖然和區塊鏈沒啥關係,但是宣傳上還是以蹭熱點的形式強行區塊鏈了。
微創新階段
2018年很特殊,比特幣因為TPS的問題,在經歷擴容之爭之後整個技術社群都在尋找可擴充套件的方案,以太坊也面臨了類似的問題,CryptoKitty造成的以太坊網路擁堵,讓整個業界的研究話題突然轉到Scability上。
Scability一般有兩個思路:第一是基於既定的共識演算法,修改交易協議使得網路所能支援的業務吞吐增大;第二是對共識演算法進行微創新,使得共識層面所能承載的吞吐量增大。
第一個思路對共識演算法的發展影響不大,第二個思路也讓共識演算法的創新停留在微創新上,湧現了諸如Spacemesh這樣的專案。
總的來說這段時期有兩個效應,第一是區塊鏈的廣泛傳播,使得公眾開始加入區塊鏈的討論;第二個效應是熊市氛圍使得幣圈變得更理性,討論熱點也多集中在穩定幣和STO上。上面兩個效應使得區塊鏈的發展更加分化,技術至上主義(Code is Law)和數字貨幣主義(Token)在完全不同的語境下討論區塊鏈。
共識的本質以及外延
從比特幣的擴容之爭開始,共識這個詞不再僅僅指技術上的共識演算法,而是有了外延,也會指社群共識。
所以共識演算法的初衷一定會秉持著不同的理念,去中心化還是高擴充套件性?這是個問題。儘管EOS和以太坊目前的熱門都集中到遊戲和博彩領域(無外源性資料),但兩者DAPP的生存狀況在寒冬中明顯不太好過,但專案依然在繼續,是什麼在凝聚著社群呢?
我的結論是,技術共識是社群共識的表現形式,社群共識才是根本。例如EOS的堅定信仰者一定不會屑Vitalik的Plasma。這裡其實折射出了技術共識所體現的社群共識(信念)會吸納不同的人群,這些人群根據自己的理解會選擇“站隊”。
當然大部分人是持有觀望者的態度,只要價格不跌就好,至於是DPoS共識還是PoW共識,其實使用者並不太關心,這個在Proof of Stake體現出來的Cold-Staking問題,其實無時不刻在發生,社群冷漠可以從博弈論的角度來理解,社群和社群領袖,這是一個典型的智豬博弈。但社群並非是單純的理性人,在理想國和信仰的驅使下,也會躍遷到激發態,激發態就是選擇自己喜歡的共識“站隊”,想想這和賭馬賭球的感覺何其相似呢。
那麼共識的本質到底是什麼呢?
區塊鏈的共識是一個專案所宣稱的理念,然後使用技術共識來展現自己的理念,在這個過程中積聚信仰者和投機者的過程,技術共識是外在形式,社群共識(專案領袖)是這個社群的靈魂,兩者相互影響促進。
在這裡技術共識其實是一個非常好聽的故事,也是最重要的一環,共識這個概念,這可能是歷史上程式員們第一次學會公開營銷的手段,所以TPS和無限擴充套件成了區塊鏈當下的賣點。但是畢竟程式設計師還是不太適合銷售,非常期待下次牛市,或許能夠有新的亮點,(我賭5毛一定不是STO)。
下一篇預告:分析篇
我們今天回顧了一下區塊鏈共識演算法的發展歷程,接著又探討了區塊鏈共識的本質。下一篇我們重點討論各個共識演算法的“靈魂”以及區別,如何從共識演算法推導專案的發展潛力?先透露一下我們會從樂透型共識演算法和選舉型共識演算法進行分類,樂透型又分為有成本和無成本兩種情況,選舉型又分為輪流和隨機兩種情況。博弈和競爭,是人類永恆的主題,其樂無窮也。
最後提個問題,我們可以一起討論: PoW演算法最終會何去何從?
文末小廣告,我的新書《區塊鏈第一課:深入淺出技術與應用》在極客時間首發上架,大約在11月5號左右京東上架。裡面詳細地介紹了PoW/PoS/DPoS/DAG等共識演算法的來龍去脈,最後一章還手把手教你手寫一個迷你區塊鏈,感興趣的小夥伴可以上極客時間購買實體書或者Live專欄。
