區(qū)塊鏈共識(shí)機(jī)制的優(yōu)缺點(diǎn)分析
掃描二維碼
隨時(shí)隨地手機(jī)看文章
區(qū)塊鏈就是運(yùn)行在P2P網(wǎng)絡(luò)上的去中心化賬本。在公有鏈區(qū)塊鏈項(xiàng)目例如比特幣,成千上萬的用戶在使用這個(gè)區(qū)塊鏈。我們?cè)趺慈ピ谶@樣的系統(tǒng)中獲得信任呢,并且在私有區(qū)塊鏈中也是一樣的情況。這就是共識(shí)機(jī)制的來源。共識(shí)保證了區(qū)塊鏈上的參與者可以互相信任,并且對(duì)下個(gè)區(qū)塊進(jìn)行驗(yàn)證。共識(shí)也確保了網(wǎng)絡(luò)中的規(guī)則被遵守,同時(shí)承認(rèn)在區(qū)塊鏈環(huán)境下只有一個(gè)真理。
根據(jù)你使用的區(qū)塊鏈種類不同,你需要不同的共識(shí)算法來確保區(qū)塊鏈上最后的區(qū)塊能夠在任何時(shí)候都反應(yīng)出全網(wǎng)的狀態(tài)。在本文中,我們會(huì)大致說明不同的共識(shí)算法。
工作量證明(POW)
我們先從比特幣和以太坊說起。工作量證明算法需要礦工解決復(fù)雜的密碼數(shù)學(xué)難題。所以這是個(gè)依賴于算力的游戲。簡單說,你將區(qū)塊中的數(shù)據(jù)都打包并加密,直到你獲得有效的哈希值。
優(yōu)勢(shì):尋找有效的哈希值很困難,但是很容易控制哈希是正確的,所以無法欺騙整個(gè)系統(tǒng)。系統(tǒng)可以承受大量節(jié)點(diǎn)。
缺點(diǎn):需要消耗非常多的能源,而且不是很環(huán)保。如果有人能控制51%的算力,就會(huì)有被攻擊的風(fēng)險(xiǎn)。
權(quán)益證明(POS)
以太坊正在朝著PoS共識(shí)機(jī)制改變。下個(gè)區(qū)塊的礦工會(huì)基于隨機(jī)參數(shù),例如他們擁有的代幣數(shù)量,他們擁有這個(gè)代幣的時(shí)間等等來確定。同時(shí)也有其他機(jī)制,例如存款證明或者是燃燒證明等等。其實(shí)這個(gè)很簡單,如果節(jié)點(diǎn)X有1個(gè)代幣,節(jié)點(diǎn)Y有2個(gè),那么節(jié)點(diǎn)Y就會(huì)有2倍幾率去驗(yàn)證一個(gè)區(qū)塊。
優(yōu)點(diǎn):比起工作量證明,更加節(jié)約能源。
缺點(diǎn):更多的安全問題?如果同時(shí)在不同的鏈上工作,也不會(huì)有懲罰。這樣做,就很難去保證轉(zhuǎn)賬的真實(shí)性。
消逝時(shí)間證明(PoET)
消逝時(shí)間證明是超級(jí)賬本鋸齒湖項(xiàng)目中使用的共識(shí)。每個(gè)參與者都需要有個(gè)等待時(shí)間,來確保安全的程序集。獲得最短等待時(shí)間的參與者會(huì)被選為挖出區(qū)塊,經(jīng)過等待時(shí)間,挖出區(qū)塊。
優(yōu)勢(shì):挖出區(qū)塊的人會(huì)一直變化,同樣的人每次都不會(huì)選擇下個(gè)區(qū)塊。
劣勢(shì):安全程序集是復(fù)雜的技術(shù),相對(duì)工作量證明來說,更容易進(jìn)行欺詐。也有中心化的趨勢(shì),因?yàn)槲覀儽仨毷褂玫谌叫湃螜C(jī)構(gòu)來確保這個(gè)程序集是真的安全。
簡化的拜占庭容錯(cuò)算法(SBFT)
在這個(gè)算法中,區(qū)塊驗(yàn)證者是一個(gè)知名的機(jī)構(gòu)。例如在整個(gè)商業(yè)網(wǎng)絡(luò)中可以是一個(gè)監(jiān)管者。這個(gè)區(qū)塊驗(yàn)證者創(chuàng)造并提出新的區(qū)塊轉(zhuǎn)賬。在SBFT共識(shí)中,一定數(shù)量的節(jié)點(diǎn)一定要接受這個(gè)區(qū)塊,當(dāng)然這取決于錯(cuò)誤節(jié)點(diǎn)的數(shù)量。在這樣的系統(tǒng)中,最少要有2f+1的節(jié)點(diǎn)必須要接受商業(yè)網(wǎng)絡(luò)中的新區(qū)塊,f就是錯(cuò)誤節(jié)點(diǎn)的數(shù)量。
舉例來說,我們假設(shè)現(xiàn)在系統(tǒng)中有30個(gè)參與者,其中包含了5個(gè)錯(cuò)誤節(jié)點(diǎn)。作為需要驗(yàn)證的新區(qū)塊,11(2×5+1)個(gè)節(jié)點(diǎn)。
這個(gè)錯(cuò)誤可以是惡意的,也可能是無效的節(jié)點(diǎn)。
優(yōu)點(diǎn):比工作量證明更快,有更好的擴(kuò)容性。
缺點(diǎn):有中心化趨勢(shì)。一個(gè)驗(yàn)證者提出下個(gè)區(qū)塊。
權(quán)威證明(PoA)
適合私有鏈網(wǎng)絡(luò),并且不需要分布式信任體系。原理相對(duì)簡單:網(wǎng)絡(luò)中的一些人在滿足某些條件之后被認(rèn)證為驗(yàn)證者,例如身份認(rèn)證。這些驗(yàn)證者負(fù)責(zé)維持區(qū)塊鏈數(shù)據(jù)。
優(yōu)點(diǎn):非常適合私有鏈,速度非??臁?/p>
缺點(diǎn):犧牲了信任。
結(jié)論
我們對(duì)區(qū)塊鏈?zhǔn)澜绲墓沧R(shí)機(jī)制做出了概覽,這篇文章只是列舉了一部分可能性,當(dāng)然還有其他可能的共識(shí)機(jī)制??傮w來說,我們可以將這些共識(shí)分為3類:
- 標(biāo)準(zhǔn)的工作量共識(shí)
- 基于共識(shí)的許可性投票(PoA,SBFT)
- 基于共識(shí)的許可性投注(PoET)
到底選擇哪個(gè)共識(shí)來進(jìn)行區(qū)塊鏈的實(shí)施取決于哪類網(wǎng)絡(luò)和數(shù)據(jù)。
投注類型的可能更加適合月大型網(wǎng)絡(luò)。投票類型的可能更適合小型網(wǎng)絡(luò),同時(shí)將延時(shí)降到最小化。