国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

漫談共識(shí)機(jī)制

Wuv1Up / 2474人閱讀

摘要:更多區(qū)塊鏈知識(shí)共識(shí)機(jī)制是區(qū)塊鏈領(lǐng)域的核心概念,無(wú)共識(shí),不區(qū)塊鏈。是比特幣采用的共識(shí)算法,從誕生起運(yùn)行至今,表現(xiàn)穩(wěn)健,是史上最成功的共識(shí)算法,沒(méi)有之一。挖到礦的礦工同時(shí)得到一筆算法賦予的獎(jiǎng)勵(lì),也就是一些比特幣。

更多區(qū)塊鏈知識(shí)

共識(shí)機(jī)制是區(qū)塊鏈領(lǐng)域的核心概念,無(wú)共識(shí),不區(qū)塊鏈。

區(qū)塊鏈作為一個(gè)分布式系統(tǒng),可以由不同的人或機(jī)構(gòu),將安裝了區(qū)塊鏈軟件的計(jì)算機(jī)(簡(jiǎn)稱(chēng)節(jié)點(diǎn))加入到網(wǎng)絡(luò)里,然后共同計(jì)算數(shù)據(jù)、共同見(jiàn)證交易的執(zhí)行過(guò)程,并確認(rèn)最終計(jì)算結(jié)果。

如何協(xié)同這些松散耦合,互不信任的節(jié)點(diǎn)一起工作,達(dá)成信任關(guān)系,并保障一致性,持續(xù)性,可以抽象為“共識(shí)”過(guò)程。

共識(shí)需要解決的幾個(gè)核心問(wèn)題是:

1. 誰(shuí)在這個(gè)網(wǎng)絡(luò)里有記賬權(quán),也就是做為leader發(fā)起一次記賬。    
2. 做為互相不信任的參與者,為什么要采納和相信某一個(gè)人給出的記賬。  
3. 怎么保證大家最終收到的結(jié)果都是一致的,無(wú)錯(cuò)的。    

公鏈上把“激勵(lì)”也作為一個(gè)核心的考慮項(xiàng),來(lái)保證鏈的可持續(xù)發(fā)展,這是合理的,但是聯(lián)盟鏈不一定會(huì)采用代幣激勵(lì),所以本文不把激勵(lì)放到這三個(gè)核心問(wèn)題里。

以下介紹幾個(gè)典型共識(shí)的策略:
首先介紹 PoW(Proof Of Work)工作量證明。POW是比特幣采用的共識(shí)算法,從誕生起運(yùn)行至今,表現(xiàn)穩(wěn)健,是史上最成功的共識(shí)算法,沒(méi)有之一。

POW的哲學(xué)簡(jiǎn)單可靠,大家理論上都可以發(fā)起記賬,拼算力,看誰(shuí)能先算出一個(gè)小概率的隨機(jī)數(shù),也就是俗稱(chēng)的挖礦,這個(gè)隨機(jī)數(shù)在數(shù)學(xué)角度有嚴(yán)謹(jǐn)?shù)耐蒲荩ㄟ^(guò)動(dòng)態(tài)調(diào)整的難度策略限制,無(wú)論礦工投入的硬件多強(qiáng),都能控制在10分鐘左右挖到一個(gè)礦,算力強(qiáng)的礦工因?yàn)榭梢栽谶@段時(shí)間內(nèi)計(jì)算更多的隨機(jī)數(shù),所以更有機(jī)會(huì)比其他人先挖到礦。

挖到礦的礦工就可以廣播自己的記賬結(jié)果,全網(wǎng)的其他節(jié)點(diǎn)可以選擇接受這個(gè)結(jié)果,然后默默開(kāi)始的下一輪的挖礦。挖到礦的礦工同時(shí)得到一筆算法賦予的獎(jiǎng)勵(lì),也就是一些比特幣。

如果剛好兩個(gè)礦工完全同時(shí)的挖到礦,那么就會(huì)出現(xiàn)競(jìng)爭(zhēng),網(wǎng)絡(luò)上出現(xiàn)了兩個(gè)記賬結(jié)果,這個(gè)時(shí)候其他節(jié)點(diǎn)會(huì)隨機(jī)選擇一個(gè),或者按順序選擇自己先接收到的一個(gè),繼續(xù)在它基礎(chǔ)上進(jìn)行挖礦(基于該記賬結(jié)果的基礎(chǔ),再挖到的新的一次礦,稱(chēng)為新一次確認(rèn)),由于網(wǎng)絡(luò)有隨機(jī)延遲,隨機(jī)策略等區(qū)別,一般會(huì)有一個(gè)記賬結(jié)果會(huì)被更多人接受,有機(jī)會(huì)更快的被持續(xù)確認(rèn)六次,另一個(gè)就被拋棄了。這就是競(jìng)爭(zhēng)和分叉處理。

POW的表現(xiàn)有點(diǎn)像單純的原始年代,大家都憑力量和速度去挖礦淘金,誰(shuí)先挖到一塊金子,就勝出一次,看起來(lái)非常的公平公正,簡(jiǎn)單粗暴,無(wú)可挑剔,其簡(jiǎn)單性也讓這個(gè)體系得以穩(wěn)定運(yùn)行多年。畢竟拼了老命去挖礦的礦工,只會(huì)繼續(xù)拼命挖礦來(lái)加固自己的成果,輕易不會(huì)作弊,礦工作弊會(huì)導(dǎo)致網(wǎng)絡(luò)失去公信力,其辛苦挖來(lái)的持有的資產(chǎn)也會(huì)貶值。其他人想攻擊這網(wǎng)絡(luò),需要投入的算力要比現(xiàn)有的礦工多,得比現(xiàn)有的已經(jīng)很熟練很有力量的礦工更努力,如果收益不是很可觀,是不值得的 -- 換句話說(shuō),反正比特幣網(wǎng)絡(luò)有獎(jiǎng)勵(lì),如果我有這超越了其他礦工算力,為何不去挖礦賺錢(qián),破壞網(wǎng)絡(luò)吃力不討好干啥(除非別有所圖)。于是,博弈論就這么玄妙的產(chǎn)生了作用。

同時(shí),這種掰腕子秀肌肉的哲學(xué),最讓人吐槽的就是不環(huán)保,能耗太多,效率較低,無(wú)腦算HASH,對(duì)科學(xué)計(jì)算也沒(méi)什么貢獻(xiàn)(曾經(jīng)有將算力用于計(jì)算天文問(wèn)題來(lái)挖礦的方案,但是沒(méi)有形成大規(guī)模效應(yīng)),參與者能通過(guò)暴力堆積硬件,采用極致優(yōu)化(只能做HASH計(jì)算的)芯片,在網(wǎng)絡(luò)里掌握話語(yǔ)權(quán),也就是所謂的算力集中問(wèn)題。

總結(jié)一下,之前的三個(gè)問(wèn)題在POW里的解決方案

1. 誰(shuí)在這個(gè)網(wǎng)絡(luò)里有記賬權(quán),也就是做為leader發(fā)起一次記賬。  
雖然大家都有機(jī)會(huì)參與記賬,算力強(qiáng)大的人更有機(jī)會(huì)成為記賬者,誰(shuí)勁兒大誰(shuí)當(dāng)擂主。  

2. 做為互相不信任的參與者,為什么要接受和相信某一個(gè)人給出的記賬。   
因?yàn)橛涃~者付出了算力的巨大代價(jià)做為背書(shū),他可以為記賬行為負(fù)責(zé),可以?xún)A向認(rèn)為他不作惡。  

3. 怎么保證大家最終收到的結(jié)果都是一致的,無(wú)錯(cuò)的。  

其他人可以從網(wǎng)絡(luò)里同步到記賬者的數(shù)據(jù),通過(guò)區(qū)塊里的hash算法校驗(yàn)數(shù)據(jù),因?yàn)閰^(qū)塊數(shù)據(jù)有難以產(chǎn)生(需要算力),容易校驗(yàn)(hash容易計(jì)算)的特性,大家對(duì)數(shù)據(jù)校驗(yàn)通過(guò)后都采用記賬者給出的數(shù)據(jù),全網(wǎng)一致,如有分叉,6次確認(rèn)后解決。

考慮到POW的短板,行業(yè)里提出了PoS(Proof Of Stake)權(quán)益證明的思路。PoS的基本思想是讓在網(wǎng)絡(luò)中擁有更多權(quán)益的人有機(jī)會(huì)在更短時(shí)間里做更多的決定,因?yàn)楫吘箼?quán)益持有者人更傾向維護(hù)網(wǎng)絡(luò)的利益,且害怕作惡后被懲罰,損傷自己的聲望和財(cái)產(chǎn)。
PoS的算法實(shí)現(xiàn)有很多變種,其中一個(gè)比較典型的是引入了“幣齡”的概念,比如,一個(gè)人手里拿了一筆錢(qián),而且持續(xù)拿了一段時(shí)間,那么基本上可以認(rèn)為這個(gè)人是比較忠于這個(gè)網(wǎng)絡(luò)的,他的權(quán)益值就比較高了。為了鼓勵(lì)人們持有代幣,一般是有利息可圖的,所以也鼓勵(lì)了人們傾向持有資產(chǎn),不斷增值,維持權(quán)益。
對(duì)權(quán)益較高的人,如何獲得記賬權(quán)力,也有多個(gè)變種實(shí)現(xiàn),在繼續(xù)采用挖礦算法的網(wǎng)絡(luò)里,可以加權(quán)的降低他的挖礦難度,讓他更容易挖到礦,獲得記賬權(quán)。或者采用加權(quán)的輪詢(xún)算法,輪流讓權(quán)益擁有者輪流記賬。
可以認(rèn)為,PoS引入了財(cái)富做為公信力背書(shū)的一個(gè)考慮角度,和簡(jiǎn)單粗暴誰(shuí)有力量誰(shuí)說(shuō)了算的PoW對(duì)比,有利于降低純計(jì)算資源的消耗,看起來(lái)也沒(méi)有那么肌肉感了。

總結(jié)一下PoS:

1. 誰(shuí)在這個(gè)網(wǎng)絡(luò)里有記賬權(quán),也就是做為leader發(fā)起一次記賬。    
  
  持有權(quán)益較多的一撥人競(jìng)爭(zhēng)或輪流記賬。
  
2. 做為互相不信任的參與者,為什么要接受和相信某一個(gè)人給出的記賬。    
  記賬者用自己的財(cái)力做為背書(shū),大家相信他們不會(huì)輕易作惡,如果作惡,可以用經(jīng)濟(jì)方式懲罰他。  

3. 怎么保證大家最終收到的結(jié)果都是一致的,無(wú)錯(cuò)的。    
  
   通過(guò)驗(yàn)證記賬權(quán)益和數(shù)據(jù),大家相信這一輪的記賬者,一致使用他的記賬結(jié)果    。

在PoS的基礎(chǔ)上,又發(fā)展出了一個(gè)DPoS的共識(shí)算法。和PoS對(duì)比多了D,全稱(chēng)是“Delegated Proof of Stake,股份授權(quán)證明機(jī)制”,原理是讓所有持幣人都有機(jī)會(huì)選出自己的代表,比如全網(wǎng)有1萬(wàn)個(gè)參與人,通過(guò)一定的算法,參與人以自己的代幣為權(quán)益證明,選出101個(gè)代表,這些代表可以輪流或者采用PoS算法加權(quán)的獲得記賬權(quán),進(jìn)行記賬。
DPoS理論上不要求選出的代表個(gè)體本身是權(quán)益所有人,看起來(lái)更民主,更開(kāi)放。網(wǎng)絡(luò)參與者做為選民有機(jī)會(huì)選出自己的代表,來(lái)給自己的利益代言。如果選出的代表不作為(輪到自己記賬時(shí)不記賬),或者作惡,可以把他們踢掉,如有必要進(jìn)行懲罰(選民們也有可能被懲罰)。否則記賬者有機(jī)會(huì)獲得相應(yīng)的獎(jiǎng)勵(lì),也有可能將獎(jiǎng)勵(lì)發(fā)放給選出自己的民眾們。

總結(jié)一下DPoS:

1. 誰(shuí)在這個(gè)網(wǎng)絡(luò)里有記賬權(quán),也就是做為leader發(fā)起一次記賬。  
   擁有權(quán)益的散戶(hù),分別選出自己的代表參與記賬。  

2. 做為互相不信任的參與者,為什么要接受和相信某一個(gè)人給出的記賬。    
  大家相信代表,因?yàn)樗麄兡艽硐喈?dāng)一部分人的在網(wǎng)絡(luò)里的利益。  

3. 怎么保證大家最終收到的結(jié)果都是一致的,無(wú)錯(cuò)的。  
  相信代表,一致使用他的記賬結(jié)果 。   

以上的都是在公有鏈里采用的共識(shí)算法,都能解決可信和一致性的問(wèn)題,區(qū)別在于組織方式和計(jì)算代價(jià)不同,有一點(diǎn)相同的是:都是追求“最終一致性”,而不是強(qiáng)一致性。
也就是說(shuō)在網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)故障、通信分區(qū)、權(quán)益和算力相近等情況,依舊可能有多個(gè)記賬者在競(jìng)爭(zhēng)記賬,所以每次記賬可以理解成一次提案,大家暫時(shí)保存這一次提案的競(jìng)爭(zhēng)結(jié)果,最終確定下來(lái)可能要依賴(lài)多次競(jìng)爭(zhēng),也就是所謂的一頓燒烤解決不了的問(wèn)題,那就再來(lái)一頓,然后再一頓。直到大家看到,之前的某一次記賬,都被大家接受了,而且是接受了好幾次,才達(dá)成最終一致性,這個(gè)時(shí)間是相對(duì)比較長(zhǎng)的,比如比特幣的6次確認(rèn),需要一個(gè)小時(shí)。公鏈里的共識(shí)以及其他交易行為,可以理解為一種概率游戲,隨著時(shí)間推移和投入到共識(shí)里的工作量或權(quán)益越多,確定性的概率就越大,大到概率上幾乎不可逆,或者必須投入匪夷所思的大量的資源才能推翻時(shí),就達(dá)成了確定性。

我們的目標(biāo)是實(shí)現(xiàn)聯(lián)盟鏈的共識(shí),聯(lián)盟鏈和公有鏈不同的是,參與記賬的人,身份是可知的、可控的,可能有監(jiān)管或者經(jīng)濟(jì)共同利益之類(lèi)的措施來(lái)約束他們。

另外,聯(lián)盟鏈的場(chǎng)景傾向與追求強(qiáng)一致性,也就是說(shuō)一筆交易發(fā)生了,就不能再被分叉或回滾推翻了。所以聯(lián)盟鏈通常使用的是PBFT和Raft算法以及其變種。

BFT(Byzantine Fault Tolerance)即“拜占庭容錯(cuò)算法”,其細(xì)節(jié)說(shuō)起來(lái)特別復(fù)雜,來(lái)自80年代的一個(gè)理論,據(jù)說(shuō)至今沒(méi)有一個(gè)完全的、普適性的權(quán)威實(shí)現(xiàn),Babara Liskov在2002年提出PBFT,放松了約束來(lái)解決拜占庭問(wèn)題,而因此獲得了圖靈獎(jiǎng)。我們參考“實(shí)用性的拜占庭容錯(cuò)” Practical BFT做了一個(gè)實(shí)現(xiàn),是自己從頭開(kāi)發(fā)的。
PBFT的記賬者在初始階段就是相對(duì)固定的,聯(lián)盟鏈里可以根據(jù)不同的場(chǎng)景來(lái)選擇記賬者,如機(jī)構(gòu)之間線下協(xié)商、線上配置,也可以引入DPoS的思想,先通過(guò)一些選舉策略選出一批記賬者,但這樣在聯(lián)盟鏈里可能帶來(lái)額外的復(fù)雜性,如果商業(yè)場(chǎng)景需要,可以在既有基礎(chǔ)上開(kāi)發(fā)PBFT-dPos。

所以我們的實(shí)現(xiàn)是可動(dòng)態(tài)配置式的記賬者列表,在具備共同利益的的聯(lián)盟鏈網(wǎng)絡(luò)里,所有或大部分機(jī)構(gòu)都參與記賬,大家一起維護(hù)商業(yè)利益,如果某個(gè)機(jī)構(gòu)在記賬過(guò)程中犯錯(cuò)、作弊、或者不工作,都可以通過(guò)少數(shù)服從多數(shù)容錯(cuò),然后進(jìn)行事后追責(zé),保護(hù)大家的利益。算法的容錯(cuò)能力是能接受1/3成員的錯(cuò)誤和作弊,如7個(gè)成員,只要作惡或出錯(cuò)的成員在兩個(gè)和兩個(gè)以下,網(wǎng)絡(luò)就是安全的。但如果網(wǎng)絡(luò)里有很多個(gè)作惡者,那么這個(gè)網(wǎng)絡(luò)可被視為失效。

BFT算法的過(guò)程是一次提案,幾步提交,在這個(gè)過(guò)程中有復(fù)雜的狀態(tài)機(jī)維護(hù)的細(xì)節(jié)。起始時(shí)可按一些簡(jiǎn)單的規(guī)則,如輪次機(jī)制,讓某一個(gè)機(jī)構(gòu)的某一個(gè)節(jié)點(diǎn)在某個(gè)區(qū)塊高度上,成為議長(zhǎng),得到記賬權(quán),然后進(jìn)行記賬提案,其他節(jié)點(diǎn)對(duì)提案進(jìn)行數(shù)據(jù)驗(yàn)證(驗(yàn)證簽名,驗(yàn)證交易數(shù)據(jù),驗(yàn)證合約計(jì)算結(jié)果等),覺(jué)得都o(jì)k之后,返回一個(gè)簽名確認(rèn),議長(zhǎng)收集大家的簽名,達(dá)到一定的數(shù)量后,認(rèn)為達(dá)成少數(shù)服從多數(shù)的效果,則將記賬結(jié)果廣播出去,大家在將記賬結(jié)果存下來(lái)之前,還可以再進(jìn)行一次投票和計(jì)票,確認(rèn)大多數(shù)人都收妥了記賬數(shù)據(jù)并無(wú)異議,再將記賬數(shù)據(jù)存下來(lái),開(kāi)始下一輪。

可以形象的描述下:一個(gè)團(tuán)體,比如有7個(gè)人,大家都有投票權(quán),要對(duì)某次聚餐計(jì)劃的選擇進(jìn)行投票,這個(gè)時(shí)候某一個(gè)人發(fā)起一個(gè)提議,大家看ok呀,紛紛舉手,提議的人定時(shí)數(shù)數(shù),舉手的人超過(guò)4個(gè),就達(dá)成決議,否則再換一個(gè)人提議。如果提議達(dá)成,決定了吃什么什么時(shí)候吃,發(fā)起人給大家群發(fā)個(gè)郵件制定日程,大家接受日程并給出反饋,當(dāng)看到有不少人都接受了郵件日程不會(huì)反悔,那么,這頓飯就成行了。

如果團(tuán)隊(duì)人數(shù)較多,也是可以讓一部分人成為投票代表,比如一個(gè)上百人的班里,由選出來(lái)的班干部投票就可以了。其他人成為“觀察者”,無(wú)條件接受這一部分人通過(guò)拜占庭容錯(cuò)算法得出的結(jié)果,和DPoS的思想類(lèi)似。

PBFT算法在參與人數(shù)較少的聯(lián)盟鏈里,有相當(dāng)可觀的實(shí)用價(jià)值:

1. 少數(shù)服從多數(shù),體現(xiàn)了民主性。  
2. 大家參與投票,都能刷存在感。  
3. 不需要粗暴的算力介入,相當(dāng)環(huán)保。  
4. 多步提交反復(fù)確認(rèn),一旦共識(shí)完成就達(dá)成一致性,可以短時(shí)間內(nèi)就達(dá)成確定性的交易。  
5. 每次投票都有數(shù)字簽名,可以抗抵賴(lài),不會(huì)投了票不認(rèn)。  
6. 可以不依賴(lài)代幣經(jīng)濟(jì)鼓勵(lì)來(lái)保證記賬的正確性。

所以,PBFT相對(duì)公鏈的各種共識(shí),可以理解成特定的已知身份的團(tuán)隊(duì)內(nèi)的快速達(dá)成一致的一種高效算法,特定團(tuán)隊(duì)的形成也是至關(guān)重要的,所以會(huì)有PBFT-Auth(經(jīng)過(guò)驗(yàn)證的記賬人), PBFT-PoS,PBFT-DPoS等多種變化。是否需要在投票和容錯(cuò)的部分進(jìn)行常場(chǎng)景性的優(yōu)化(如帶加權(quán)系數(shù)的投票,容錯(cuò)由1/3改為1/2或者改為0容錯(cuò)等等),要看場(chǎng)景需求,目前來(lái)看,保證有一個(gè)相對(duì)簡(jiǎn)單,運(yùn)行穩(wěn)定的PBFT算法是首要的。

總結(jié)一下PBFT:

誰(shuí)在這個(gè)網(wǎng)絡(luò)里有記賬權(quán),也就是做為leader發(fā)起一次記賬。
所有人平等的輪流參與記賬,或者經(jīng)過(guò)許可的,或者大家選出來(lái)的一撥人進(jìn)行輪流記賬。

做為互相不信任的參與者,為什么要接受和相信某一個(gè)人給出的記賬。
少數(shù)服從多數(shù),每次記賬的結(jié)果都是多數(shù)派的投票勝利。

怎么保證大家最終收到的結(jié)果都是一致的,無(wú)錯(cuò)的。
通過(guò)多步提交反復(fù)確認(rèn),保證提案和最終結(jié)果都是正確的,是多數(shù)人承認(rèn)的,是全網(wǎng)一致的。

PBFT的小問(wèn)題在于狀態(tài)機(jī)維護(hù)復(fù)雜,投票往返步驟較多,容易受網(wǎng)絡(luò)波動(dòng)影響,對(duì)網(wǎng)路延遲和丟包相當(dāng)敏感,當(dāng)參與者數(shù)量增多,不穩(wěn)定因素會(huì)被放大,其穩(wěn)定性和效率可能會(huì)顯著下降,這也是我們?cè)诔掷m(xù)的踩坑和優(yōu)化的部分,要做到一個(gè)企業(yè)級(jí)環(huán)境可用的,健壯的PBFT共識(shí),是非常有挑戰(zhàn)性的,不但需要對(duì)區(qū)塊鏈的數(shù)據(jù)和運(yùn)作哲學(xué)有很深的理解,也要對(duì)分布式系統(tǒng)的通信,協(xié)作,性能優(yōu)化有大量的實(shí)踐經(jīng)驗(yàn)。

結(jié)合以太坊帳戶(hù)模型和智能合約引擎機(jī)制,我們對(duì)PBFT也做了大量的優(yōu)化,比如把串行的任務(wù)改成并行,把不必要重復(fù)計(jì)算的數(shù)據(jù)(如區(qū)塊數(shù)據(jù)打包,簽名等)緩存下來(lái),快速偵測(cè)記賬者存活,加快切換速度等等,都是復(fù)雜的工程,需要一次又一次迭代的長(zhǎng)夜漫漫的腦補(bǔ)、實(shí)現(xiàn)、測(cè)試、修BUG、壓測(cè)、量化,足以重新寫(xiě)一篇長(zhǎng)文了。

聯(lián)盟鏈還可以采用一種共識(shí)算法Raft,簡(jiǎn)單的說(shuō)可以理解成大家選出一個(gè)記賬者,如果它穩(wěn)定運(yùn)行沒(méi)有掛掉,就由他記賬,大家無(wú)條件接受他的記賬結(jié)果,相信他是誠(chéng)實(shí)的,如果他掛掉了,那么大家是可以通過(guò)超時(shí)或網(wǎng)絡(luò)探測(cè)感知,然后快速啟動(dòng)一輪投票,來(lái)選出一個(gè)新的記賬者,然后繼續(xù)無(wú)條件的等它記賬,這樣就達(dá)成了容錯(cuò)性。

這在信任度較高,機(jī)構(gòu)組成簡(jiǎn)單的的聯(lián)盟鏈或者一個(gè)機(jī)構(gòu)內(nèi)的私有鏈里,是比PBFT更加高效的一種做法,因?yàn)椴恍枰嗖降姆磸?fù)確認(rèn),受網(wǎng)絡(luò)影響的可能性也小很多。

但是Raft算法并不解決記賬者耍花樣的問(wèn)題,如果選出的記賬者作惡,其他人當(dāng)時(shí)是沒(méi)有辦法識(shí)破的,最多只能通過(guò)事后檢查來(lái)發(fā)現(xiàn),在確定性要求較高的場(chǎng)景,比如收了錢(qián)就要交貨的DVP場(chǎng)景里,容易出現(xiàn)錢(qián)貨兩空的情況。另外,Raft算法有可能在網(wǎng)絡(luò)波動(dòng)或競(jìng)爭(zhēng)情況下出現(xiàn)短暫的網(wǎng)絡(luò)分叉,需要多次確認(rèn)。

Raft適合用于專(zhuān)注解決可用性(保持系統(tǒng)穩(wěn)定運(yùn)行),追求相對(duì)較高效率(比優(yōu)化后的PBFT大致高20~50%的效率)的場(chǎng)景,基本忽略欺詐可能,且對(duì)交易延時(shí)要求可以放寬(等待多次確認(rèn))。

為了在速度和抗欺詐之間獲得平衡,也有出現(xiàn)PBFT-Raft混用的共識(shí),比如讓一個(gè)記賬者固定出塊,其他人極少輪次的投票,或者進(jìn)行快速的后置檢測(cè),如果發(fā)現(xiàn)Raft的記賬者在作惡,立刻回滾沖正,并踢掉并懲罰作惡的記賬者等等,這就有一些場(chǎng)景化的需求需要考慮了。

總結(jié)一下Raft:

1. 誰(shuí)在這個(gè)網(wǎng)絡(luò)里有記賬權(quán),也就是做為leader發(fā)起一次記賬。  
  選出一個(gè)記賬者,讓他做為唯一的可信者進(jìn)行記賬,除非掛掉。  
2. 做為互相不信任的參與者,為什么要接受和相信某一個(gè)人給出的記賬。  
  無(wú)條件相信記賬者,from the beginning till the last,至死不渝。  
3. 怎么保證大家最終收到的結(jié)果都是一致的,無(wú)錯(cuò)的。  
  記賬者說(shuō)的都是對(duì)的,大家都用他的數(shù)據(jù),是一致的。  

回顧一下:

POW:用盡創(chuàng)世紀(jì)時(shí)代的洪荒之力求生存求發(fā)展。
PoS:采用權(quán)益加權(quán),減少計(jì)算資源消耗。
DPoS:一定程度的民選制度,用民意取代集中的權(quán)益,民意代表們把握話語(yǔ)權(quán)。
PBFT:少數(shù)服從多數(shù),快速達(dá)成共識(shí),體現(xiàn)參與度和民主性,有較強(qiáng)的確定性和抗欺詐性。
Raft:強(qiáng)調(diào)可用性和最終一致性,效率較高,不強(qiáng)調(diào)抗欺詐性。**

共識(shí)算法的研究是很有意思的課題,我們也看到共識(shí)算法的選擇和演進(jìn),隱約和人類(lèi)社會(huì)的不同階段是對(duì)應(yīng)得上的。算法其實(shí)是社會(huì)里人和財(cái)產(chǎn)的關(guān)系在計(jì)算機(jī)世界的一種映射,研究共識(shí)算法,不僅是需要研究計(jì)算機(jī)理論(圖靈機(jī)時(shí)代,其實(shí)計(jì)算機(jī)也能體現(xiàn)人性),也要去深刻的理解社會(huì)學(xué),經(jīng)濟(jì)學(xué),心理學(xué),博弈論。
畢竟,在一個(gè)不完全互信的環(huán)境里,宛如黑暗森林,需要復(fù)雜的算法來(lái)協(xié)同、斡旋各懷心事的參與者,并且能懲罰作惡的、獎(jiǎng)勵(lì)誠(chéng)實(shí)的,目前社會(huì)制度其實(shí)也沒(méi)有完美的做到,一切努力只是盡量的使系統(tǒng)運(yùn)作的盡量順暢,讓世界更好一點(diǎn)點(diǎn)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/24025.html

相關(guān)文章

  • 漫談 | 區(qū)塊鏈會(huì)是哈貝馬斯所說(shuō)的“理想話語(yǔ)情境”嗎?

    摘要:區(qū)塊鏈科技原罪還是交往理性迄今為止,我們尚未見(jiàn)到從中本聰開(kāi)始的任何一位區(qū)塊鏈開(kāi)發(fā)者提及哈貝馬斯,但區(qū)塊鏈卻奇妙契合了哈貝馬斯對(duì)理想話語(yǔ)情境的描述。 生活在我們這個(gè)時(shí)代的人,不可避免的活在消費(fèi)控制之下。著名的哲學(xué)家馬爾庫(kù)塞說(shuō),人們似乎是為商品而生活。小轎車(chē)、高清晰度的傳真裝置、錯(cuò)層式家庭住宅以及廚房設(shè)備成了人們生活的靈魂。人們被被消費(fèi)欲望所控制,自主性喪失,個(gè)性泯滅,成為單向度的人。 s...

    andong777 評(píng)論0 收藏0
  • 漫談 | 區(qū)塊鏈2008:“蝙蝠俠”與“黑暗騎士”

    摘要:黑暗騎士年,一部名為蝙蝠俠前傳黑暗騎士的電影上映。那些被懷疑又站出來(lái)否認(rèn)的人,或許他們真的不是,又或許,他們只是因?yàn)橹溃诤诎凋T士被徹底打敗之前,蝙蝠俠是不能安睡的。 showImg(https://segmentfault.com/img/bVbfZEO?w=564&h=846); 黑暗騎士 2008年,一部名為《蝙蝠俠前傳:黑暗騎士》的電影上映。影片中,新一輪的混亂席卷了科技與污...

    luffyZh 評(píng)論0 收藏0
  • 漫談 | 小雪的第38次相親,和一個(gè)礦工

    摘要:小雪又問(wèn)你到底挖的啥礦呀比特幣。據(jù)說(shuō),世界上第一個(gè)區(qū)塊鏈礦工叫中本聰。但隨著以比特幣為首的虛擬貨幣暴漲,挖礦成為了一個(gè)完整的產(chǎn)業(yè)鏈,有專(zhuān)門(mén)的礦機(jī)礦場(chǎng)礦池等。 某個(gè)夏日,晴。某鬧市區(qū)的一個(gè)咖啡廳里,一男一女對(duì)桌而坐。兩人相看無(wú)言,不太自在,于是各自開(kāi)始看自己的手機(jī)。 女孩叫小雪,大學(xué)畢業(yè)5年了,至今還沒(méi)對(duì)象,父母急得團(tuán)團(tuán)轉(zhuǎn),到處找人安排她相親。這是小雪的第38次相親。爸媽說(shuō)這人是挖礦的,...

    B0B0 評(píng)論0 收藏0
  • 漫談 | 你好,監(jiān)察官

    摘要:由此,監(jiān)察官制度應(yīng)運(yùn)而生。公元前年,羅馬共和國(guó)設(shè)立監(jiān)察官。兩名監(jiān)察官的同僚協(xié)議性質(zhì)使其互相牽制監(jiān)察官的任期為十八個(gè)月且不得連任也有效限制了其權(quán)力。和羅馬一樣,監(jiān)察官屬于高級(jí)職位。世界中,具有挖礦權(quán)力的礦工正由監(jiān)察官通過(guò)投票選舉產(chǎn)生的。 在講正題之前,先給大家講個(gè)小故事: showImg(https://segmentfault.com/img/bVbgZgF?w=472&h=316);...

    libin19890520 評(píng)論0 收藏0
  • 漫談 | 1968年的那場(chǎng)風(fēng)暴,給區(qū)塊鏈帶來(lái)了什么?

    摘要:在法國(guó),這場(chǎng)抗議運(yùn)動(dòng)被稱(chēng)作五月風(fēng)暴,一度使法國(guó)資產(chǎn)階級(jí)國(guó)家機(jī)器受到威脅,但終究還是被平息下去了。這種二元項(xiàng)的對(duì)立并非是平等并置的,邏各斯中心主義通過(guò)設(shè)立第一項(xiàng)的優(yōu)先性而迫使第二項(xiàng)從屬于它,例如,把女人視為第二性。 1968年,一場(chǎng)激進(jìn)學(xué)生運(yùn)動(dòng)席卷整個(gè)歐美。在法國(guó),這場(chǎng)抗議運(yùn)動(dòng)被稱(chēng)作五月風(fēng)暴,一度使法國(guó)資產(chǎn)階級(jí)國(guó)家機(jī)器受到威脅,但終究還是被平息下去了。情緒受到嚴(yán)重壓抑的大學(xué)生,對(duì)在學(xué)潮中...

    ShevaKuilin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<