區(qū)塊鏈技術(shù)最為重要的一個(gè)環(huán)節(jié)——共識(shí)機(jī)制,未來(lái)的區(qū)塊鏈之爭(zhēng),必定是算法之爭(zhēng)。如果一個(gè)區(qū)塊鏈項(xiàng)目它根據(jù)自己所要適應(yīng)的環(huán)境去開(kāi)發(fā)或者選擇合適的的共識(shí)機(jī)制,那么這個(gè)項(xiàng)目至少?gòu)倪壿嬌鲜呛侠淼?/p>
那么作為區(qū)塊鏈,我們又如何才能做出適合的共識(shí)機(jī)制呢?
首先,我們要回到“拜占庭將軍”問(wèn)題——由于缺乏互信的信任,將軍們不知道該如何傳遞信息,也不知道如何才能實(shí)現(xiàn)共識(shí)。共識(shí)機(jī)制,就是“拜占庭將軍”問(wèn)題的解決方案。不過(guò)在區(qū)塊鏈項(xiàng)目中,共識(shí)機(jī)制多種多樣。
工作量證明(POW)
繼續(xù)用“拜占庭將軍”來(lái)舉例。如果城堡左邊有三個(gè)將軍同時(shí)給城堡右邊的三個(gè)將軍發(fā)消息,并且他們發(fā)的消息是被加密的,右邊的將軍拿到信息,只需要使用之前約定好的解密方式,就可以拿到正確的信息。
雖然給信息進(jìn)行加密非常的費(fèi)時(shí)間,但是如果敵軍抓到這個(gè)將軍,可能需要花費(fèi)更長(zhǎng)的時(shí)間來(lái)進(jìn)行解密??赡茉诮饷艿耐局校瑪撤降某浅鼐鸵呀?jīng)被攻下了。同樣的原理放在區(qū)塊鏈上,就成了“工作量證明”共識(shí)機(jī)制。“礦工”通過(guò)解答加密難題來(lái)“挖”出一個(gè)區(qū)塊,但是整個(gè)過(guò)程需要很大的算力。當(dāng)?shù)V工解決了這個(gè)難題的時(shí)候,他們就會(huì)將區(qū)塊放入網(wǎng)絡(luò)進(jìn)行驗(yàn)證,整個(gè)驗(yàn)證過(guò)程非常容易。所以,通過(guò)驗(yàn)證你的工作量來(lái)證明你有做過(guò)這件事情。
POW機(jī)制解決了拜占庭將軍問(wèn)題,即在互不信任的情況下,也能保證系統(tǒng)的正確運(yùn)轉(zhuǎn)。這讓系統(tǒng)具備一定的容錯(cuò)性,也就是說(shuō)的:區(qū)塊鏈具備去信任的能力。
但是工作量證明機(jī)制也存在不少的弊端,比如效率不高,能買(mǎi)得起更好“礦機(jī)”的土豪就擁有更多的算力,也會(huì)導(dǎo)致對(duì)算力的壟斷。
權(quán)益證明(POS)
說(shuō)到權(quán)益證明,大家可能有點(diǎn)陌生了,其實(shí)以太坊一直也打算往權(quán)益證明共識(shí)方面轉(zhuǎn)移。
權(quán)益證明考慮到工作量證明需要耗費(fèi)大量的能量,并且還會(huì)產(chǎn)生各種浪費(fèi)。于是想出用虛擬挖礦代替真實(shí)挖礦機(jī)制,并且由驗(yàn)證者代替礦工。
所以在權(quán)益證明中,想要充當(dāng)驗(yàn)證者,首先就需要鎖定一部分的代幣作為權(quán)益證明。而且你持有的時(shí)間越長(zhǎng),代幣越多,你的權(quán)益也就越大。
但是在權(quán)益證明中,最大的問(wèn)題是很難像工作量證明那樣對(duì)欺詐行為進(jìn)行懲罰。不過(guò)以太坊為了想要使用POS算法,想出了一個(gè)新招,“Casper”協(xié)議。本質(zhì)上說(shuō),這也是一種權(quán)益證明的方法。
同樣地,驗(yàn)證者需要將一部分以太坊作為權(quán)益,發(fā)現(xiàn)區(qū)塊進(jìn)行投注,之后獲得收益。但是,和普通權(quán)益證明不同的是,如果驗(yàn)證者作弊,他們就會(huì)立刻收到懲罰,并且預(yù)留的權(quán)益資產(chǎn)就會(huì)被削減。
授權(quán)股權(quán)證明(DPOS)
其實(shí)這是POS算法的一種變型,也是大名鼎鼎的EOS的共識(shí)算法。通過(guò)它,EOS才可以做到每秒百萬(wàn)級(jí)的轉(zhuǎn)賬速度。DPOS算法中,用戶(hù)可以進(jìn)行投票選出區(qū)塊生產(chǎn)者,礦工要合作來(lái)產(chǎn)生區(qū)塊,而不是互相競(jìng)爭(zhēng)。但是DPOS機(jī)制太過(guò)于依賴(lài)投票,也是最大的缺陷。不過(guò)如果有項(xiàng)目,能夠想到去應(yīng)用DPOS算法,甚至是想到DPOS改良的方法,那么至少證明這個(gè)項(xiàng)目是有心做事的。
實(shí)用拜占庭容錯(cuò)算法(dBFT)
dBFT算法考慮到了如果有人發(fā)欺詐消息的情況,并保證只要有2/3的人發(fā)的是真消息,那么共識(shí)就可以達(dá)成。通過(guò)這種共識(shí)機(jī)制,可以達(dá)到更快的轉(zhuǎn)賬速度以及擴(kuò)容性。
沒(méi)有共識(shí)機(jī)制,就不會(huì)有拜占庭容錯(cuò)的去中心化P2P網(wǎng)絡(luò)?,F(xiàn)階段,我們對(duì)POW和POS的討論比較多,但是對(duì)應(yīng)不同項(xiàng)目,會(huì)有不同的共識(shí)機(jī)制產(chǎn)生,所以大家在分析項(xiàng)目的時(shí)候,也許你不用懂得這個(gè)共識(shí)機(jī)制到底如何編寫(xiě)的,如果你知道這個(gè)項(xiàng)目的特性,比如項(xiàng)目需要很快的轉(zhuǎn)賬速度,但是用的是POW共識(shí)機(jī)制,那么大概率是無(wú)法滿(mǎn)足的。
小結(jié)
通過(guò)以上介紹,我們可以知道區(qū)塊鏈技術(shù)最重要的環(huán)節(jié)就是共識(shí)機(jī)制。能夠在算法、容錯(cuò)機(jī)制上有所改良和突破的項(xiàng)目,都將是區(qū)塊鏈?zhǔn)澜绲膶?shí)力選手。