談到區(qū)塊鏈一般我們會說,它是一個分布式賬本,一個巨大的數(shù)據(jù)庫,那么分布式賬本結(jié)構(gòu)、P2P動態(tài)網(wǎng)組、非對稱加密等各項技術(shù)就是守護(hù)這個數(shù)據(jù)庫的衛(wèi)兵,保障數(shù)據(jù)庫的安全不被竊取和篡改。
共識機制則是一套完整的數(shù)據(jù)入庫規(guī)則,一個“數(shù)據(jù)水龍頭”,維持?jǐn)?shù)據(jù)庫持續(xù)增長。
布比聯(lián)合創(chuàng)始人張明裕常用微信群來解釋什么是區(qū)塊鏈,那么在一個群里是什么決定了大家討論什么、如何討論呢?就是共識機制,它是一個群的靈魂。
1. 什么是共識機制
什么是共識機制?對的沒錯,共識機制就是你理解的那個意思,不用去研究所謂的定義。
如果你想深入了解一下它的產(chǎn)生背景,下面一段話就是最好的表述:
由于加密貨幣多數(shù)采用去中心化的區(qū)塊鏈設(shè)計,節(jié)點是各處分散且平行的,所以必須設(shè)計一套制度,來維護(hù)系統(tǒng)的運作順序與公平性,統(tǒng)一區(qū)塊鏈的版本,并獎勵提供資源維護(hù)區(qū)塊鏈的使用者,以及懲罰惡意的危害者。
這樣的制度,必須依賴某種方式來證明,是由誰取得了一個區(qū)塊鏈的打包權(quán)(或稱記帳權(quán)),并且可以獲取打包這一個區(qū)塊的獎勵;又或者是誰意圖進(jìn)行危害,就會獲得一定的懲罰,這就是共識機制。
多數(shù)情況下,我們談共識機制談的就是共識算法本身,算法在設(shè)計的時候就包含了一定的規(guī)則設(shè)計。
所謂共識機制包括共識算法和共識規(guī)則的分法其實沒必要去深究,只會越厘越亂。
2. 幾種主流共識機制的特點
1 POW
工作量證明,就是我們常說的“挖礦”,是中本聰在其論文《一種點對點的電子現(xiàn)金系統(tǒng)》中提出的一種共識規(guī)則,通過節(jié)點間的算力競爭來保證數(shù)據(jù)的一致性和不可篡改性。
在該共識機制下,依靠算力來爭奪記賬權(quán)獲得系統(tǒng)獎勵。因為“挖礦”需要高昂的電力成本和設(shè)備成本,普通參與者難以參與,原本去中心化的設(shè)計又被集中在了礦工群體的小中心里。
2 POS
權(quán)益證明,通過占有的系統(tǒng)token數(shù)量和時間來分配權(quán)益,爭奪記賬權(quán)。相比POW純算力的競爭,POS增加了更多制度的設(shè)計,效率明顯提升,也更適合商用。
萬向區(qū)塊鏈董事長兼 CEO 肖風(fēng)在公開演講中表示,“PoS的技術(shù)加上制度設(shè)計,加上規(guī)則的設(shè)計,這兩個加一塊,也許是解決我們所有的商業(yè)應(yīng)用的一個最合適的方法?!?/p>
在POS中,如果重量級節(jié)點并不具備專業(yè)的知識和足夠預(yù)算,將會再次拖累共識效率。于是便有了DPOS(委托權(quán)益證明),通過類似民主大會的形式,選舉出適合的節(jié)點代表來運行網(wǎng)絡(luò),出塊效率進(jìn)一步提升。
3 PBFT
PBFT是Practical Byzantine Fault Tolerance的縮寫,意為實用拜占庭容錯算法。解決了原始拜占庭容錯算法效率不高的問題,使得拜占庭容錯算法在實際系統(tǒng)應(yīng)用中變得可行。該算法誕生于1999年,是公認(rèn)算法中最成熟的一種。
在PBFT機制下有一個視圖的概念,一個視圖包含一個主節(jié)點和多個備份節(jié)點。
主節(jié)點負(fù)責(zé)將來自客戶端的請求排好序號發(fā)給備份節(jié)點。備份節(jié)點會主動檢測這些序號的合法性,并通過超時機制檢測主節(jié)點是否宕掉,一旦出現(xiàn)異常,將會觸發(fā)視圖更換協(xié)議來選舉新的主節(jié)點。
主節(jié)點的記賬信息獲得備份節(jié)點的共識之后,成為最終發(fā)布的區(qū)塊,并且該區(qū)塊是不可逆的。所以里面的交易是百分之百確認(rèn)的,區(qū)塊不會分叉。
4 DPOS+BFT
在該共識機制下,根據(jù)賬戶中的權(quán)益對節(jié)點分配權(quán)重優(yōu)先級,形成基于節(jié)點權(quán)重的記賬人節(jié)點選取機制。節(jié)點可以通過申請成為候選人節(jié)點,經(jīng)過選舉/抽簽等方式最終成為記賬人節(jié)點。
共識階段,在記賬人節(jié)點中選擇出共識區(qū)塊的提議者,由提議者提出對某個區(qū)塊進(jìn)行驗證。記賬人和提議者每輪驗證均會更換,多次驗證成功后完成記賬,最終形成共識。
布比區(qū)塊鏈基于拜占庭容錯算法構(gòu)建區(qū)塊鏈共識,同時支持PBFT、DPOS+BFT等多種共識算法,做到了秒級別確認(rèn)用戶交易,不會產(chǎn)生鏈分叉。
同時,布比區(qū)塊鏈支持多條子鏈的雙層共識、子鏈共識節(jié)點的子集映射,在高性能基礎(chǔ)上實現(xiàn)可擴展和安全性。
3. 怎樣評價共識機制
談共識機制,難免會簡單地用單維度進(jìn)行好或者不好、性能優(yōu)劣、去中心化程度來進(jìn)行評價。實際上對共識機制的評價應(yīng)該是多維度的,共識機制是區(qū)塊鏈系統(tǒng)中的一部分,需要與系統(tǒng)匹配實現(xiàn)良好運轉(zhuǎn)。
布比區(qū)塊鏈創(chuàng)始人蔣海曾表示,“單純追求高TPS的意義不大,應(yīng)該找到合適的應(yīng)用場景,符合商業(yè)邏輯,從實際需求出發(fā)。”
如同一顆螺絲釘,我們不能單從它的大小、長度、顏色、材質(zhì)來評價,而要結(jié)合它的使用場景,用在手機里還是挖掘機上它的評價維度是完全不同的。
實際應(yīng)用中,應(yīng)該具體根據(jù)使用場景來評價和選擇共識機制。
比特幣是一種加密貨幣,對安全性和去中心化程度要求很高,那POW算法就是合適的。以太坊增加了智能合約,需要高TPS來支撐,最初的POW算法就無法適應(yīng),便要向POS轉(zhuǎn)變。所以選擇適合應(yīng)用場景的共識機制才是最合適的。
責(zé)任編輯;zl
評論