在蜂巢學(xué)院公開課第二課上,導(dǎo)師郝玉琨(萬向區(qū)塊鏈新鏈空間負(fù)責(zé)人)用通俗易懂的例子講解了了解區(qū)塊鏈必須要掌握的10個(gè)核心關(guān)鍵詞,其中有一個(gè)是“共識(shí)”。在課上,導(dǎo)師解釋了什么是共識(shí),并提到PoW、PoS、DPoS是目前公有鏈常見的共識(shí)算法。
在區(qū)塊鏈共識(shí)機(jī)制這片江湖里,除了PoW、PoS、DPoS“三秀”外,還有數(shù)個(gè)小弟隱于其中,他們雖然沒有那么大的名聲,但也有公鏈在用。這篇文章,將簡(jiǎn)單介紹10種共識(shí)機(jī)制,讓大家更多地了解區(qū)塊鏈的共識(shí)。
首先,我們?cè)賮韽?fù)習(xí)下什么是共識(shí)。
什么是共識(shí)
舉個(gè)例子,你約了一幫人玩游戲,玩游戲之前要定下游戲規(guī)則,規(guī)定好輸贏的獎(jiǎng)懲措施。游戲規(guī)則需要每個(gè)參與游戲的人同意并達(dá)成一致,這樣才能保證整個(gè)游戲的公平性,讓每個(gè)參與者都玩得開開心心。這個(gè)游戲規(guī)則就是一個(gè)“共識(shí)協(xié)議”。
在區(qū)塊鏈中也一樣,共識(shí)是一個(gè)決策過程,它的目標(biāo)是確保所有參與者在添加新數(shù)據(jù)塊后,能就其當(dāng)前狀態(tài)達(dá)成一致。換言之,共識(shí)協(xié)議確保了一條鏈的正確性,并為做出貢獻(xiàn)的參與者提供了激勵(lì)措施。共識(shí)協(xié)議對(duì)區(qū)塊鏈來說是非常重要的,它可以防止一個(gè)人單獨(dú)控制整個(gè)系統(tǒng),并確保每個(gè)人都遵守網(wǎng)絡(luò)規(guī)則。以比特幣區(qū)塊鏈為例,雖然中本聰創(chuàng)造了比特幣區(qū)塊鏈,但TA對(duì)這條鏈并沒有所有權(quán),比特幣區(qū)塊鏈完全是透明和開放的,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都是平等的。
總結(jié)來說,一個(gè)協(xié)議就是一套規(guī)則,它有助于:
· 確保在線交易的可行性;
· 消除雙重?fù)p毀的可能性;
· 確保參與者不作弊。
區(qū)塊鏈協(xié)議還包含:
· 確定性的邏輯規(guī)則;
· 以加密技術(shù)和密碼學(xué)作為安全基礎(chǔ);
· 使網(wǎng)絡(luò)協(xié)議得以延續(xù)的激勵(lì)措施。
目前行業(yè)里有多種區(qū)塊鏈協(xié)議,其中PoW(工作量證明)和PoS(權(quán)益證明)是最早的協(xié)議,通常也是其它共識(shí)協(xié)議的原型。讓我們來看看它們各自有什么優(yōu)缺點(diǎn)。
Proof-of-Work(PoW)
工作原理:很難找到解決方案,但很容易檢測(cè)結(jié)果的正確性。
使用范圍:公有鏈
使用案例:比特幣、以太坊、萊特幣。
要添加一個(gè)新塊,參與者必須證明TA已經(jīng)完成了多少量的工作。更準(zhǔn)確地來說,要證明TA解決了一個(gè)非常困難的任務(wù),即找到了符合特定規(guī)則的哈希值。第一個(gè)找到正確哈希值的人即可獲得在鏈上添加新塊的機(jī)會(huì)。
因此,參與PoW意味需要大量的計(jì)算資源成本,如電費(fèi)、CPU等。盡管點(diǎn)對(duì)點(diǎn)的可擴(kuò)展性不錯(cuò),但PoW處理交易的效率很低。它的另一個(gè)問題是,參與者的動(dòng)機(jī)通常是為了致富而不是為了維護(hù)“正義”。隨著時(shí)間的推移,降低挖礦費(fèi)用和傭金,會(huì)極大地影響網(wǎng)絡(luò)安全。
PoW的優(yōu)勢(shì)在于,能確保兩個(gè)互不信任的參與者在一個(gè)網(wǎng)絡(luò)中工作。任何人都可以加入網(wǎng)絡(luò),而不需要任何許。盡管點(diǎn)對(duì)點(diǎn)的可伸縮性很高,但是事務(wù)處理率仍然很低。
Proof-of-Stake (PoS)
工作原理:網(wǎng)絡(luò)信任驗(yàn)證者,驗(yàn)證者抵押自己的資源作為創(chuàng)建塊的能力保障。抵押的資源越大,網(wǎng)絡(luò)允許這個(gè)驗(yàn)證者創(chuàng)建塊的概率就越高。
使用范圍:公共/私有區(qū)塊鏈。
使用案例:Cosmos、Tezos、Ethereum也正準(zhǔn)備從PoW轉(zhuǎn)向PoS。
PoS的技術(shù)特點(diǎn)是沒有復(fù)雜和不必要的計(jì)算。網(wǎng)絡(luò)參與者不與其他人競(jìng)爭(zhēng),而是抵押他們的資源,如在以太坊區(qū)塊鏈中的抵押以太幣,并等待他們被選中來創(chuàng)建一個(gè)新的塊。
參與者對(duì)網(wǎng)絡(luò)安全很看重,因?yàn)樗麄冏约菏掷锍钟芯W(wǎng)絡(luò)中的TOKEN。系統(tǒng)根據(jù)參與者所擁有的 “股權(quán)”來選擇驗(yàn)證者,如參與者擁有5%的股份,那么將驗(yàn)證網(wǎng)絡(luò)中5%的交易。PoS的想法是驗(yàn)證者持有的“股份”比例越高,TA操縱驗(yàn)證程序的興趣就越低。
與PoW算法一樣,PoS中交易的完成是概率性的。盡管與PoW相比,PoS的交易速度相對(duì)較快,但它仍然需要TOKEN。有人指出,擁有大量股份的驗(yàn)證者將會(huì)有更大概率被選中,因此會(huì)導(dǎo)致“富者更富”。
Delegated-Proof-of-Stake (DPoS)
工作原理:參與者將新塊的生產(chǎn)委托給一小群被選出來的、數(shù)量固定的驗(yàn)證者。競(jìng)爭(zhēng)激烈,但回報(bào)豐厚。
使用范圍:公共/私有區(qū)塊鏈。
使用案例:Eos、Bitshares
DPoS通過減少驗(yàn)證者的數(shù)量來提高交易速度以及創(chuàng)建塊的速度。驗(yàn)證者是TOKEN持有者通過投票選出來的,新塊由驗(yàn)證者而不是TOKEN持有者創(chuàng)建。每票的權(quán)重由投票人的資產(chǎn)總和決定。投票人可以在任何時(shí)候投票給驗(yàn)證者。這決定了網(wǎng)絡(luò)的高度靈活性,如果大多數(shù)驗(yàn)證者失敗或出現(xiàn)問題,那么社區(qū)將立即投票選出新的驗(yàn)證人來替代他們。
每個(gè)新塊的產(chǎn)生需要1-2秒的時(shí)間。與PoS相比,DPoS更快更公平,因?yàn)楸晃械尿?yàn)證人將會(huì)與為他們投票的人共享獲得的獎(jiǎng)勵(lì)。
工作原理:PoW和PoS的混合。
使用范圍:公共區(qū)塊鏈。
使用案例:Decred。
活動(dòng)證明(PoA)結(jié)合了PoW和PoS協(xié)議,這意味著參與者可以挖礦或抵押權(quán)益來驗(yàn)證區(qū)塊。因此,PoA協(xié)議在礦工和普通網(wǎng)絡(luò)成員之間提供了平衡。
Proof-of-Location (PoL)
工作原理:信標(biāo)用于查看處于同步狀態(tài)的節(jié)點(diǎn),然后用臨時(shí)標(biāo)記來標(biāo)記其存在。
使用范圍:公共區(qū)塊鏈。
使用案例:FOAM、Platin。
位置證明(PoL)允許用戶保護(hù)特定的GPS位置,從而在網(wǎng)絡(luò)上進(jìn)行身份驗(yàn)證。這個(gè)區(qū)塊鏈協(xié)議依賴于BFT信標(biāo),它在區(qū)塊鏈中記錄地理位置和時(shí)間標(biāo)記,從而防止系統(tǒng)中斷和欺詐。
Proof-of-Importance (PoI)
工作原理:和PoS類似,但是有影響排名的附加條件。
使用范圍:公共區(qū)塊鏈。
使用案例:NEM。
算法和PoS類似,但包含三個(gè)部分:賬戶內(nèi)的TOKEN數(shù)量;賬戶活躍度;帳戶持有人在網(wǎng)絡(luò)上花費(fèi)的時(shí)間。
第一個(gè)參數(shù)在驗(yàn)證交易的評(píng)級(jí)中起著至關(guān)重要的作用;第二個(gè)和第三個(gè)參數(shù)只是幫助建立賬戶的“價(jià)值”。TOKEN的數(shù)量越小,其他參數(shù)的影響越大。
因此,一個(gè)擁有數(shù)十萬TOKEN的賬戶,由于其活躍性和上網(wǎng)時(shí)間,可以將重要性系數(shù)提高近3倍。反之,擁有數(shù)億TOKEN的人,如果不夠活躍以及上網(wǎng)時(shí)長(zhǎng)不夠,其重要性將降低。
Proof-of-Elapsed-Time (PoET)
工作原理:塊是在相同的時(shí)間里以及受信任的環(huán)境中創(chuàng)建的。
使用范圍:私有/聯(lián)盟區(qū)塊鏈。
使用案例:Intel。
英特爾開發(fā)了自己的區(qū)塊鏈協(xié)議,IntelLedger。
該系統(tǒng)類似于工作證明,但使用的電力較少。該算法不是參與者解決密碼難題,而是在受信任的執(zhí)行環(huán)境環(huán)境中工作,如Intel Software Guard Extensions(SGX)。PoET協(xié)議保證這些塊是隨機(jī)生成的,不受其它因素干擾。
Proof-of-Authority (PoA)
工作原理:用于銀行和保險(xiǎn)公司的半中心化區(qū)塊鏈協(xié)議。
使用范圍:聯(lián)盟/私有區(qū)塊鏈。
使用案例:Kovan、Rinkeby、Giveth、Tomochain、Rublix、Swarm City、Colony、Go-Chain。
與PoS和DPoS類似,在POA中,驗(yàn)證人節(jié)點(diǎn)保護(hù)區(qū)塊鏈并生成新的區(qū)塊。區(qū)塊鏈上的新塊只有在驗(yàn)證器達(dá)到最大值時(shí)才會(huì)創(chuàng)建。區(qū)塊鏈上的新塊,只有當(dāng)驗(yàn)證人節(jié)點(diǎn)達(dá)到最大值時(shí)才會(huì)被創(chuàng)建。
通過預(yù)先選定驗(yàn)證人,Proof of Authority并沒有那么去中心化。因此,這種共識(shí)協(xié)議更適合私有或者聯(lián)盟區(qū)塊鏈,如銀行和保險(xiǎn)公司。所有驗(yàn)證人的身份都是公開的,可由任何第三方進(jìn)行驗(yàn)證。因此,驗(yàn)證人的行為是為了使網(wǎng)絡(luò)利益最大化。
Proof of Capacity (PoC) or Proof of Space (PoS)
工作原理:礦工可執(zhí)行的工作量取決于其磁盤可用空間量。
使用范圍:公共區(qū)塊鏈。
使用案例:Burstcoin、Bitcoin Ore。
PoC類似PoW,但兩者有個(gè)顯著區(qū)別,在PoC中,不需要做大量的工作來驗(yàn)證每個(gè)區(qū)塊,這些工作在”Plotting”(繪圖)的過程中提前完成了,此過程的結(jié)果用于后面驗(yàn)證每個(gè)塊。Plotting是生成稱為“plotting file”的特殊文件的過程,該文件存儲(chǔ)大量預(yù)先計(jì)算好的哈希值。最短的解決方案被授予挖掘下一個(gè)塊的權(quán)限。PoC具有高效、成本低和分布式的優(yōu)點(diǎn)。
Proof-of-Concept (PoC)
PoC可用于任何領(lǐng)域,括投票追蹤、記錄存儲(chǔ)、法律文件等。PoC可以是沒有任何支持代碼的原型,也可以是具有基本功能集的最小可行產(chǎn)品(MVP)。PoC是組織內(nèi)部用來更好地理解特定項(xiàng)目的模型。
共識(shí)協(xié)議是區(qū)塊鏈不可分割的一部分。它們有助于實(shí)現(xiàn)公正,也能避免當(dāng)一個(gè)或部分參與者節(jié)點(diǎn)失敗時(shí),系統(tǒng)出現(xiàn)故障。其次,也有助于互不信任的參與者在去中心化的環(huán)境中達(dá)成“共識(shí)”。
上文只簡(jiǎn)單介紹了部分共識(shí)協(xié)議,還有很多協(xié)議未囊括其中,如Practical Byzantine Fault Tolerance(PBFT)、Proof-of-Brain (PoB)、Proof-of-Physical-Address (PoPA)、Proof-of-Bank-Account (PoBA)等。在蜂巢學(xué)院公開課第三課上,將詳細(xì)介紹比特幣的共識(shí)協(xié)議(PoW)。導(dǎo)師吳為龍(趣派科技CTO),是行業(yè)早期參與者和第一批區(qū)塊鏈開發(fā)者,他將會(huì)結(jié)合自己多年的行業(yè)經(jīng)驗(yàn),為大家通俗易懂地講授比特幣的起源、發(fā)展、治理等各種知識(shí),讓大家離區(qū)塊鏈更近一步。
責(zé)任編輯;zl
評(píng)論